@font-face {
	font-family: "Montserrat";
	src: url("../img/pechat-plakatov-v2/fonts/Montserrat-Regular.ttf") format("truetype");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Montserrat";
	src: url("../img/pechat-plakatov-v2/fonts/Montserrat-Medium.ttf") format("truetype");
	font-style: normal;
	font-weight: 500;
	font-display: swap;
}

@font-face {
	font-family: "Montserrat";
	src: url("../img/pechat-plakatov-v2/fonts/Montserrat-SemiBold.ttf") format("truetype");
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: "Montserrat";
	src: url("../img/pechat-plakatov-v2/fonts/Montserrat-Bold.ttf") format("truetype");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

.pp-page .pp-header,
.pp-page .pp-hero,
.pp-page .pp-quick-calc,
.pp-page .pp-usecases,
.pp-page .pp-materials,
.pp-page .pp-pricing,
.pp-page .pp-benefits,
.pp-page .pp-gallery,
.pp-page .pp-process,
.pp-page .pp-header *,
.pp-page .pp-hero *,
.pp-page .pp-quick-calc *,
.pp-page .pp-usecases *,
.pp-page .pp-materials *,
.pp-page .pp-pricing *,
.pp-page .pp-benefits *,
.pp-page .pp-gallery *,
.pp-page .pp-process *,
.pp-page .pp-gallery-viewer,
.pp-page .pp-gallery-viewer * {
	box-sizing: border-box;
}

.pp-page .pp-header,
.pp-page .pp-hero,
.pp-page .pp-quick-calc,
.pp-page .pp-usecases,
.pp-page .pp-materials,
.pp-page .pp-pricing,
.pp-page .pp-benefits,
.pp-page .pp-gallery,
.pp-page .pp-process,
.pp-page .pp-gallery-viewer {
	font-family: "Montserrat", Arial, sans-serif;
	color: #232529;
}

.pp-local-preview body.pp-page {
	margin: 0;
}

.pp-local-preview .pp-page .content {
	display: none !important;
}

.pp-page .pp-shell {
	width: 100%;
	max-width: 1240px;
	margin-right: auto;
	margin-left: auto;
}

.pp-page .pp-header :where(ul, ol),
.pp-page .pp-hero :where(ul, ol, dl, dd, figure, p, h1),
.pp-page .pp-quick-calc :where(h2, p),
.pp-page .pp-usecases :where(h2, h3, p),
.pp-page .pp-materials :where(h2, p, figure),
.pp-page .pp-pricing :where(h2, p, table, caption),
.pp-page .pp-benefits :where(h2, p),
.pp-page .pp-gallery :where(h2, h3, p, figure),
.pp-page .pp-process :where(h2, h3, p, ol),
.pp-page .pp-gallery-viewer :where(figure) {
	margin: 0;
	padding: 0;
}

.pp-page .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;
}

.pp-page .pp-header :where(ul, ol),
.pp-page .pp-hero :where(ul, ol) {
	list-style: none;
}

.pp-page .pp-header a,
.pp-page .pp-hero a {
	color: inherit;
	text-decoration: none;
}

.pp-page .pp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	margin: 0;
	padding: 0 24px;
	border: 1px solid transparent;
	border-radius: 9px;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.pp-page .pp-button:hover {
	transform: translateY(-1px);
}

.pp-page .pp-button:focus-visible,
.pp-page .pp-header a:focus-visible,
.pp-page .pp-header__toggle:focus-visible,
.pp-page .pp-breadcrumbs a:focus-visible {
	outline: 3px solid rgba(244, 86, 40, .32);
	outline-offset: 3px;
}

/* Header */
.pp-page .pp-skip-link {
	position: absolute;
	top: 8px;
	left: 12px;
	z-index: 100;
	padding: 10px 14px;
	border-radius: 7px;
	background: #24272b;
	color: #fff !important;
	font-size: 13px;
	font-weight: 600;
	transform: translateY(-160%);
}

.pp-page .pp-skip-link:focus {
	transform: translateY(0);
}

.pp-page .pp-header {
	position: relative;
	z-index: 50;
	width: 100%;
	border-top: 2px solid #222529;
	background: #fff;
}

.pp-page .pp-topline {
	height: 38px;
	background: #222529;
	color: #d9dadd;
}

.pp-page .pp-topline__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 38px;
}

.pp-page .pp-topline a {
	color: inherit;
}

.pp-page .pp-topline__address {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
}

.pp-page .pp-topline__address:hover,
.pp-page .pp-topline__schedule a:hover {
	color: #fff;
}

.pp-page .pp-topline__schedule {
	display: flex;
	align-items: center;
	gap: 11px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
}

.pp-page .pp-topline__schedule i {
	display: block;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #6f7378;
}

.pp-page .pp-header__main {
	background: #fff;
}

.pp-page .pp-header__inner {
	display: flex;
	align-items: center;
	height: 90px;
}

.pp-page .pp-header__brand {
	display: block;
	flex: 0 0 216px;
	line-height: 0;
}

.pp-page .pp-header__brand img {
	display: block;
	width: 216px;
	height: auto;
}

.pp-page .pp-header__nav {
	margin-left: 48px;
}

.pp-page .pp-header__nav ul {
	display: flex;
	align-items: center;
	gap: 18px;
}

.pp-page .pp-header__nav a {
	position: relative;
	display: block;
	padding: 12px 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

.pp-page .pp-header__nav a::after {
	position: absolute;
	right: 0;
	bottom: 5px;
	left: 0;
	height: 2px;
	background: #f45628;
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .2s ease;
}

.pp-page .pp-header__nav a:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

.pp-page .pp-header__contact {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	margin-left: auto;
	line-height: 1.1;
}

.pp-page .pp-header__contact span {
	margin-bottom: 5px;
	color: #92959a;
	font-size: 12px;
	font-weight: 400;
}

.pp-page .pp-header__contact a {
	font-size: 17px;
	font-weight: 700;
	white-space: nowrap;
}

.pp-page .pp-button--header {
	min-width: 137px;
	min-height: 56px;
	margin-left: 24px;
	padding: 0 20px;
	border-color: #f45628;
	background: #f45628;
	color: #fff !important;
	font-size: 15px;
}

.pp-page .pp-button--header:hover,
.pp-page .pp-button--primary:hover,
.pp-page .pp-button--mobile:hover {
	border-color: #dc441b;
	background: #dc441b;
	box-shadow: 0 10px 24px rgba(220, 68, 27, .2);
}

.pp-page .pp-header__toggle {
	display: none;
	width: 48px;
	height: 48px;
	margin: 0 0 0 18px;
	padding: 12px 10px;
	border: 1px solid #dedbd6;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
}

.pp-page .pp-header__toggle span {
	display: block;
	width: 100%;
	height: 2px;
	margin: 5px 0;
	border-radius: 2px;
	background: #24262a;
	transition: transform .2s ease, opacity .2s ease;
}

.pp-page .pp-header__toggle[aria-expanded="true"] span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.pp-page .pp-header__toggle[aria-expanded="true"] span:nth-child(2) {
	opacity: 0;
}

.pp-page .pp-header__toggle[aria-expanded="true"] span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.pp-page .pp-header__mobile {
	display: none;
}

.pp-page .pp-service-nav {
	border-top: 1px solid #f2f0ed;
	background: #f5f3ef;
}

.pp-page .pp-service-nav__scroll {
	overflow-x: auto;
	scrollbar-width: none;
}

.pp-page .pp-service-nav__scroll::-webkit-scrollbar {
	display: none;
}

.pp-page .pp-service-nav ul {
	display: flex;
	align-items: stretch;
	gap: 29px;
	min-width: max-content;
}

.pp-page .pp-service-nav a {
	position: relative;
	display: flex;
	align-items: center;
	height: 59px;
	color: #5f6267;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

.pp-page .pp-service-nav a::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 2px;
	background: #f45628;
	content: "";
	transform: scaleX(0);
	transition: transform .2s ease;
}

.pp-page .pp-service-nav a:hover,
.pp-page .pp-service-nav a.is-active {
	color: #f45628;
}

.pp-page .pp-service-nav a:hover::after,
.pp-page .pp-service-nav a.is-active::after {
	transform: scaleX(1);
}

/* Hero */
.pp-page .pp-hero {
	position: relative;
	overflow: hidden;
	min-height: 748px;
	background-color: #f5f2ed;
	background-image:
		linear-gradient(rgba(38, 40, 44, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(38, 40, 44, .035) 1px, transparent 1px);
	background-position: -1px -1px;
	background-size: 24px 24px;
}

.pp-page .pp-hero__layout {
	display: grid;
	grid-template-columns: minmax(0, 606px) 574px;
	gap: 60px;
	padding-top: 30px;
	padding-bottom: 76px;
}

.pp-page .pp-hero__content {
	min-width: 0;
}

.pp-page .pp-breadcrumbs ol {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	color: #85898e;
	font-size: 14px;
	line-height: 20px;
}

.pp-page .pp-breadcrumbs li + li::before {
	margin-right: 5px;
	content: "/";
}

.pp-page .pp-breadcrumbs a:hover {
	color: #f45628;
}

.pp-page .pp-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	min-height: 35px;
	margin-top: 44px;
	padding: 0 14px;
	border: 1px solid #d8d4cd;
	border-radius: 18px;
	background: rgba(255, 255, 255, .88);
	color: #5b5f64;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .19em;
	line-height: 1;
	text-transform: uppercase;
}

.pp-page .pp-hero__eyebrow span {
	width: 10px;
	height: 10px;
	margin-right: 11px;
	border-radius: 50%;
	background: #f45628;
}

.pp-page .pp-hero h1 {
	max-width: 606px;
	margin-top: 19px;
	color: #202327;
	font-size: clamp(56px, 4.75vw, 68px);
	font-weight: 700;
	letter-spacing: -.045em;
	line-height: 1.06;
}

.pp-page .pp-hero__lead {
	max-width: 598px;
	margin-top: 48px;
	color: #5f6368;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.5;
}

.pp-page .pp-hero__facts {
	display: grid;
	grid-template-columns: 156px 156px 190px;
	gap: 14px;
	margin-top: 38px;
}

.pp-page .pp-hero__facts > div {
	display: flex;
	min-height: 83px;
	padding: 17px 19px 14px;
	border: 1px solid #dcd8d1;
	border-radius: 12px;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 3px 8px rgba(35, 37, 41, .025);
	flex-direction: column;
	justify-content: center;
}

.pp-page .pp-hero__facts dt {
	margin-bottom: 6px;
	color: #7b7f84;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.15;
	white-space: nowrap;
}

.pp-page .pp-hero__facts dd {
	color: #24272b;
	font-size: 25px;
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1;
	white-space: nowrap;
}

.pp-page .pp-hero__actions {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 28px;
}

.pp-page .pp-button--primary {
	min-width: 240px;
	border-color: #f45628;
	background: #f45628;
	color: #fff !important;
}

.pp-page .pp-button--secondary {
	min-width: 212px;
	border: 2px solid #cec9c1;
	background: rgba(255, 255, 255, .72);
	color: #2a2d31;
}

.pp-page .pp-button--secondary:hover {
	border-color: #f45628;
	background: #fff;
	color: #e14920;
}

.pp-page .pp-hero__trust {
	display: flex;
	align-items: center;
	margin-top: 20px;
	color: #565a60;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}

.pp-page .pp-hero__trust span {
	position: relative;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	margin-right: 12px;
	border-radius: 50%;
	background: #f45628;
}

.pp-page .pp-hero__trust span::after {
	position: absolute;
	top: 7px;
	left: 9px;
	width: 10px;
	height: 6px;
	border-bottom: 3px solid #fff;
	border-left: 3px solid #fff;
	content: "";
	transform: rotate(-45deg);
}

.pp-page .pp-hero__visual {
	position: relative;
	height: 620px;
	border-radius: 28px;
	background: #d7d5d1;
	box-shadow: 0 18px 42px rgba(38, 40, 44, .13);
}

.pp-page .pp-hero__visual > img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 28px;
	object-fit: cover;
	object-position: 68% center;
}

.pp-page .pp-hero__format {
	position: absolute;
	top: 28px;
	left: 24px;
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 18px;
	border-radius: 19px;
	background: #fff;
	color: #3b3e43;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 4px 12px rgba(35, 37, 41, .06);
}

.pp-page .pp-hero__cmyk {
	position: absolute;
	top: 84px;
	right: 0;
	display: flex;
	gap: 6px;
	flex-direction: column;
}

.pp-page .pp-hero__cmyk i {
	display: block;
	width: 12px;
	height: 49px;
}

.pp-page .pp-hero__cmyk i:nth-child(1) { background: #18a9c6; }
.pp-page .pp-hero__cmyk i:nth-child(2) { background: #ec2c7e; }
.pp-page .pp-hero__cmyk i:nth-child(3) { background: #efcf18; }
.pp-page .pp-hero__cmyk i:nth-child(4) { background: #202326; }

.pp-page .pp-hero__equipment {
	position: absolute;
	right: 56px;
	bottom: -22px;
	left: 58px;
	display: flex;
	min-height: 111px;
	padding: 23px 28px 17px 29px;
	border-left: 6px solid #f45628;
	border-radius: 8px 14px 14px 8px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(35, 37, 41, .15);
	flex-direction: column;
	justify-content: center;
}

.pp-page .pp-hero__equipment span {
	margin-bottom: 9px;
	color: #7c8085;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.pp-page .pp-hero__equipment strong {
	color: #24272b;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.1;
}

.pp-page .pp-hero__equipment small {
	margin-top: 5px;
	color: #666a70;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.1;
}

/* Quick calculator */
.pp-page .pp-quick-calc {
	position: relative;
	z-index: 4;
	margin-top: -56px;
	padding: 0 0 78px;
	background: linear-gradient(to bottom, transparent 56px, #fff 56px);
	scroll-margin-top: 20px;
}

.pp-page .pp-quick-calc__card {
	position: relative;
	padding: 31px 32px 25px;
	border: 1px solid #e9e5df;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(37, 39, 42, .12);
}

.pp-page .pp-quick-calc__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 28px;
}

.pp-page .pp-quick-calc__kicker {
	display: block;
	margin-bottom: 9px;
	color: #f45628;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .15em;
	line-height: 1;
	text-transform: uppercase;
}

.pp-page .pp-quick-calc__header h2 {
	color: #23262a;
	font-size: 27px;
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: 1.12;
}

.pp-page .pp-quick-calc__header p {
	margin-top: 7px;
	color: #81858a;
	font-size: 13px;
	line-height: 1.45;
}

.pp-page .pp-quick-calc__note {
	display: inline-flex;
	align-items: center;
	min-height: 31px;
	margin-top: 3px;
	padding: 0 12px;
	border: 1px solid #e8e4de;
	border-radius: 16px;
	color: #666a70;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
}

.pp-page .pp-quick-calc__note i {
	width: 7px;
	height: 7px;
	margin-right: 7px;
	border-radius: 50%;
	background: #35a85b;
	box-shadow: 0 0 0 4px rgba(53, 168, 91, .1);
}

.pp-page .pp-quick-calc__fields {
	display: grid;
	margin-top: 25px;
	grid-template-columns: 1.05fr 1.55fr .9fr .72fr;
	gap: 14px;
}

.pp-page .pp-quick-calc__field {
	display: grid;
	min-width: 0;
	gap: 8px;
}

.pp-page .pp-quick-calc__field > span:first-child {
	padding-left: 2px;
	color: #91959a;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1;
	text-transform: uppercase;
}

.pp-page .pp-quick-calc__control {
	position: relative;
	display: block;
}

.pp-page .pp-quick-calc__control select {
	display: block;
	width: 100%;
	height: 64px;
	margin: 0;
	padding: 0 43px 0 17px;
	overflow: hidden;
	border: 1px solid transparent;
	border-radius: 11px;
	background: #f6f4f0;
	color: #2e3135;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
	appearance: none;
	cursor: pointer;
	outline: none;
	transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.pp-page .pp-quick-calc__control select:hover {
	background: #f2efea;
}

.pp-page .pp-quick-calc__control select:focus-visible {
	border-color: #f45628;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(244, 86, 40, .12);
}

.pp-page .pp-quick-calc__control svg {
	position: absolute;
	top: 50%;
	right: 16px;
	width: 18px;
	height: 18px;
	fill: none;
	stroke: #5c6065;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	pointer-events: none;
	transform: translateY(-50%);
}

.pp-page .pp-quick-calc__footer {
	display: grid;
	align-items: stretch;
	margin-top: 22px;
	grid-template-columns: minmax(0, 1fr) 352px;
	gap: 28px;
}

.pp-page .pp-quick-calc__summary {
	display: flex;
	min-width: 0;
	padding: 10px 0 5px;
	flex-direction: column;
	justify-content: center;
}

.pp-page .pp-quick-calc__summary > span {
	margin-bottom: 8px;
	color: #a0a3a7;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1;
	text-transform: uppercase;
}

.pp-page .pp-quick-calc__summary strong {
	overflow: hidden;
	color: #5d6166;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pp-page .pp-quick-calc__summary small {
	margin-top: 7px;
	color: #999da1;
	font-size: 12px;
	line-height: 1.35;
}

.pp-page .pp-quick-calc__total {
	display: grid;
	min-height: 94px;
	padding: 14px 15px 14px 21px;
	border-radius: 13px;
	background: #24272b;
	grid-template-columns: 1fr auto;
	gap: 16px;
	align-items: center;
}

.pp-page .pp-quick-calc__total.is-updating {
	animation: pp-calc-total .24s ease;
}

@keyframes pp-calc-total {
	50% { transform: scale(1.012); box-shadow: 0 10px 24px rgba(36, 39, 43, .16); }
}

.pp-page .pp-quick-calc__total > div {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.pp-page .pp-quick-calc__total span {
	margin-bottom: 7px;
	color: #91959a;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1;
	text-transform: uppercase;
}

.pp-page .pp-quick-calc__total strong {
	color: #fff;
	font-size: 29px;
	font-weight: 700;
	letter-spacing: -.04em;
	line-height: 1;
	white-space: nowrap;
}

.pp-page .pp-quick-calc__total button {
	min-width: 116px;
	height: 52px;
	margin: 0;
	padding: 0 18px;
	border: 0;
	border-radius: 8px;
	background: #f45628;
	color: #fff;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.pp-page .pp-quick-calc__total button:hover {
	background: #dc441b;
	box-shadow: 0 9px 20px rgba(220, 68, 27, .24);
	transform: translateY(-1px);
}

.pp-page .pp-quick-calc__total button:focus-visible {
	outline: 3px solid rgba(244, 86, 40, .32);
	outline-offset: 3px;
}

.pp-page .pp-quick-calc__legal {
	margin-top: 13px !important;
	color: #a3a6aa;
	font-size: 12px;
	line-height: 1.45;
}

/* Where posters work */
.pp-page .pp-usecases {
	position: relative;
	padding: 18px 0 112px;
	background: #fff;
}

.pp-page .pp-usecases__intro {
	max-width: 790px;
}

.pp-page .pp-usecases__intro > span {
	display: block;
	margin-bottom: 15px;
	color: #f45628;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .13em;
	line-height: 1.2;
	text-transform: uppercase;
}

.pp-page .pp-usecases__intro h2 {
	color: #24272b;
	font-size: 43px;
	font-weight: 700;
	letter-spacing: -.04em;
	line-height: 1.08;
}

.pp-page .pp-usecases__intro p {
	max-width: 740px;
	margin-top: 18px;
	color: #686c71;
	font-size: 16px;
	line-height: 1.65;
}

.pp-page .pp-usecases__grid {
	display: grid;
	margin-top: 43px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.pp-page .pp-usecases__card {
	position: relative;
	overflow: hidden;
	border: 1px solid #e9e6e1;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(38, 40, 44, .075);
	transition: border-color .28s ease, box-shadow .28s ease, transform .28s ease;
}

.pp-page .pp-usecases__card:hover {
	border-color: #ddd7cf;
	box-shadow: 0 20px 42px rgba(38, 40, 44, .13);
	transform: translateY(-5px);
}

.pp-page .pp-usecases__image {
	position: relative;
	height: 244px;
	overflow: hidden;
	background: #eeeae5;
}

.pp-page .pp-usecases__image::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(24, 26, 29, .04), transparent 42%);
	content: "";
	pointer-events: none;
}

.pp-page .pp-usecases__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: filter .35s ease, transform .5s cubic-bezier(.2, .7, .2, 1);
}

.pp-page .pp-usecases__card:hover .pp-usecases__image img {
	filter: saturate(1.08) contrast(1.02);
	transform: scale(1.035);
}

.pp-page .pp-usecases__image > span {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 14px;
	border: 1px solid rgba(35, 37, 41, .08);
	border-radius: 16px;
	background: rgba(255, 255, 255, .94);
	color: #36393d;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 6px 16px rgba(35, 37, 41, .08);
}

.pp-page .pp-usecases__body {
	min-height: 176px;
	padding: 25px 25px 29px;
}

.pp-page .pp-usecases__body h3 {
	color: #292c30;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.24;
}

.pp-page .pp-usecases__body p {
	margin-top: 13px;
	color: #71757a;
	font-size: 15px;
	line-height: 1.65;
}

.pp-motion-ready .pp-page .pp-usecases__intro,
.pp-motion-ready .pp-page .pp-usecases__card {
	opacity: 0;
	transform: translateY(24px);
}

.pp-motion-ready .pp-page .pp-usecases.is-visible .pp-usecases__intro,
.pp-motion-ready .pp-page .pp-usecases.is-visible .pp-usecases__card {
	opacity: 1;
	transform: translateY(0);
	transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .2, 1);
}

.pp-motion-ready .pp-page .pp-usecases.is-visible .pp-usecases__card:nth-child(1) { transition-delay: .08s; }
.pp-motion-ready .pp-page .pp-usecases.is-visible .pp-usecases__card:nth-child(2) { transition-delay: .16s; }
.pp-motion-ready .pp-page .pp-usecases.is-visible .pp-usecases__card:nth-child(3) { transition-delay: .24s; }

.pp-motion-ready .pp-page .pp-usecases.is-visible .pp-usecases__card:hover {
	transform: translateY(-5px);
	transition-delay: 0s;
}

/* Interactive material selector */
.pp-page .pp-materials {
	position: relative;
	overflow: hidden;
	padding: 104px 0 118px;
	background: #fbfaf8;
}

.pp-page .pp-materials::after {
	position: absolute;
	right: -70px;
	bottom: -70px;
	width: 360px;
	height: 360px;
	background-image: radial-gradient(circle, rgba(244, 86, 40, .21) 1.2px, transparent 1.4px);
	background-size: 18px 18px;
	content: "";
	opacity: .32;
	pointer-events: none;
}

.pp-page .pp-materials > .pp-shell {
	position: relative;
	z-index: 1;
}

.pp-page .pp-materials__header {
	max-width: 920px;
}

.pp-page .pp-materials__header > span {
	display: block;
	margin-bottom: 15px;
	color: #f45628;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .13em;
	line-height: 1.2;
	text-transform: uppercase;
}

.pp-page .pp-materials__header h2 {
	color: #24272b;
	font-size: 43px;
	font-weight: 700;
	letter-spacing: -.04em;
	line-height: 1.08;
}

.pp-page .pp-materials__header p {
	margin-top: 17px;
	color: #686c71;
	font-size: 16px;
	line-height: 1.65;
}

.pp-page .pp-materials__layout {
	display: grid;
	align-items: stretch;
	margin-top: 46px;
	grid-template-columns: 475px minmax(0, 1fr);
	gap: 46px;
}

.pp-page .pp-materials__preview {
	position: relative;
	display: flex;
	height: 560px;
	overflow: hidden;
	border-radius: 23px;
	background-color: #222529;
	background-image:
		radial-gradient(circle, rgba(244, 86, 40, .16) 1px, transparent 1.3px),
		radial-gradient(circle at 50% 30%, rgba(255, 255, 255, .055), transparent 56%);
	background-size: 20px 20px, 100% 100%;
	box-shadow: 0 22px 46px rgba(31, 33, 36, .17);
	flex-direction: column;
}

.pp-page .pp-materials__art {
	position: relative;
	display: grid;
	height: 100%;
	padding: 31px 28px 110px;
	place-items: center;
}

.pp-page .pp-materials__art img {
	display: block;
	width: 86%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 22px 20px rgba(0, 0, 0, .25));
	transition: opacity .2s ease, filter .35s ease, transform .45s cubic-bezier(.2, .7, .2, 1);
}

.pp-page .pp-materials__preview.is-glossy .pp-materials__art img {
	width: 76%;
	filter: saturate(1.12) contrast(1.04) drop-shadow(0 22px 20px rgba(0, 0, 0, .27));
}

.pp-page .pp-materials__preview.is-foamboard .pp-materials__art img {
	width: 77%;
	filter: drop-shadow(12px 18px 0 rgba(235, 232, 226, .34)) drop-shadow(0 24px 20px rgba(0, 0, 0, .25));
}

.pp-page .pp-materials__shine {
	position: absolute;
	top: 46px;
	left: 18%;
	width: 42%;
	height: 58%;
	border-radius: 50%;
	background: linear-gradient(112deg, transparent 22%, rgba(255, 255, 255, .72) 48%, transparent 67%);
	opacity: 0;
	pointer-events: none;
	transform: rotate(9deg) translateX(-24px);
	transition: opacity .3s ease, transform .5s ease;
}

.pp-page .pp-materials__preview.is-glossy .pp-materials__shine {
	opacity: .42;
	transform: rotate(9deg) translateX(18px);
}

.pp-page .pp-materials__preview.is-switching .pp-materials__art img {
	opacity: 0;
	transform: translateY(10px) scale(.985);
}

.pp-page .pp-materials__preview figcaption {
	position: absolute;
	right: 22px;
	bottom: 22px;
	left: 22px;
	display: flex;
	min-height: 107px;
	padding: 19px 22px 18px;
	border-radius: 13px;
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
	flex-direction: column;
	justify-content: center;
}

.pp-page .pp-materials__preview figcaption > span {
	margin-bottom: 8px;
	color: #f45628;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .11em;
	line-height: 1;
	text-transform: uppercase;
}

.pp-page .pp-materials__preview figcaption strong {
	color: #2b2e32;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}

.pp-page .pp-materials__preview figcaption small {
	margin-top: 7px;
	color: #74787d;
	font-size: 14px;
	line-height: 1.45;
}

.pp-page .pp-materials__choices {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.pp-page .pp-materials__tabs {
	display: grid;
	gap: 16px;
}

.pp-page .pp-materials__option {
	position: relative;
	display: grid;
	align-items: center;
	width: 100%;
	min-height: 148px;
	margin: 0;
	padding: 22px 55px 22px 22px;
	border: 1px solid #e3ded7;
	border-radius: 16px;
	background: rgba(255, 255, 255, .9);
	color: #2b2e32;
	font-family: "Montserrat", Arial, sans-serif;
	text-align: left;
	grid-template-columns: 68px minmax(0, 1fr);
	gap: 20px;
	cursor: pointer;
	transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.pp-page .pp-materials__option:hover {
	border-color: #d2cbc2;
	background: #fff;
	box-shadow: 0 12px 26px rgba(36, 39, 43, .075);
	transform: translateX(3px);
}

.pp-page .pp-materials__option.is-active {
	border-color: rgba(244, 86, 40, .5);
	background: #fff;
	box-shadow: 0 13px 30px rgba(244, 86, 40, .1);
}

.pp-page .pp-materials__option:focus-visible {
	outline: 3px solid rgba(244, 86, 40, .25);
	outline-offset: 3px;
}

.pp-page .pp-materials__swatch {
	position: relative;
	display: block;
	width: 62px;
	height: 62px;
}

.pp-page .pp-materials__swatch--matte {
	border: 8px solid #f5f2ed;
	border-radius: 50%;
	background: #e9e5df;
	box-shadow: inset -8px -7px 13px rgba(124, 119, 111, .08);
}

.pp-page .pp-materials__swatch--glossy {
	border: 1px solid #ffb29a;
	border-radius: 50%;
	background: radial-gradient(circle at 34% 28%, #fff 0 9%, #ffb194 20%, #f45628 66%, #d53f1b 100%);
	box-shadow: 0 7px 15px rgba(244, 86, 40, .23);
}

.pp-page .pp-materials__swatch--glossy::after {
	position: absolute;
	top: 10px;
	left: 14px;
	width: 29px;
	height: 8px;
	border-top: 4px solid rgba(255, 255, 255, .9);
	border-radius: 50%;
	content: "";
	transform: rotate(-8deg);
}

.pp-page .pp-materials__swatch--foamboard {
	width: 58px;
	height: 58px;
	border: 4px solid #d8d3cb;
	border-radius: 7px;
	background: #fff;
	box-shadow: inset -7px 0 0 #f0ede8, inset -10px 0 0 #f45628;
}

.pp-page .pp-materials__option-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.pp-page .pp-materials__option-copy small {
	margin-bottom: 8px;
	color: #f45628;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.25;
	text-transform: uppercase;
}

.pp-page .pp-materials__option-copy strong {
	color: #292c30;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.25;
}

.pp-page .pp-materials__option-copy > span {
	margin-top: 9px;
	color: #73777c;
	font-size: 14px;
	line-height: 1.5;
}

.pp-page .pp-materials__option > i {
	position: absolute;
	top: 50%;
	right: 21px;
	width: 24px;
	height: 24px;
	border: 1px solid #d9d4cd;
	border-radius: 50%;
	transform: translateY(-50%);
	transition: border-color .2s ease, background-color .2s ease;
}

.pp-page .pp-materials__option > i::after {
	position: absolute;
	top: 6px;
	left: 7px;
	width: 8px;
	height: 5px;
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	content: "";
	opacity: 0;
	transform: rotate(-45deg);
}

.pp-page .pp-materials__option.is-active > i {
	border-color: #f45628;
	background: #f45628;
}

.pp-page .pp-materials__option.is-active > i::after {
	opacity: 1;
}

.pp-page .pp-materials__extras {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: auto;
	padding-top: 20px;
}

.pp-page .pp-materials__extras > strong {
	margin-right: 2px;
	color: #8b8f94;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1;
	text-transform: uppercase;
}

.pp-page .pp-materials__extras > span {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 14px;
	border-radius: 19px;
	background: #f0ede8;
	color: #4c5055;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.pp-page .pp-materials__extras > button {
	margin: 0 0 0 auto;
	padding: 10px 0;
	border: 0;
	background: transparent;
	color: #f45628;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
}

.pp-page .pp-materials__extras > button b {
	display: inline-block;
	margin-left: 4px;
	transition: transform .2s ease;
}

.pp-page .pp-materials__extras > button:hover b {
	transform: translateX(4px);
}

.pp-page .pp-materials__extras > button:focus-visible {
	outline: 3px solid rgba(244, 86, 40, .25);
	outline-offset: 3px;
}

.pp-motion-ready .pp-page .pp-materials__header,
.pp-motion-ready .pp-page .pp-materials__preview,
.pp-motion-ready .pp-page .pp-materials__choices {
	opacity: 0;
	transform: translateY(24px);
}

.pp-motion-ready .pp-page .pp-materials.is-visible .pp-materials__header,
.pp-motion-ready .pp-page .pp-materials.is-visible .pp-materials__preview,
.pp-motion-ready .pp-page .pp-materials.is-visible .pp-materials__choices {
	opacity: 1;
	transform: translateY(0);
	transition: opacity .62s ease, transform .62s cubic-bezier(.2, .7, .2, 1);
}

.pp-motion-ready .pp-page .pp-materials.is-visible .pp-materials__preview { transition-delay: .08s; }
.pp-motion-ready .pp-page .pp-materials.is-visible .pp-materials__choices { transition-delay: .16s; }

/* Prices */
.pp-page .pp-pricing {
	position: relative;
	overflow: hidden;
	padding: 104px 0 116px;
	background: #f2f0ec;
}

.pp-page .pp-pricing::before {
	position: absolute;
	top: -32px;
	right: -42px;
	width: 390px;
	height: 390px;
	background-image: radial-gradient(circle, rgba(244, 86, 40, .32) 1.15px, transparent 1.35px);
	background-size: 18px 18px;
	content: "";
	opacity: .5;
	pointer-events: none;
}

.pp-page .pp-pricing > .pp-shell {
	position: relative;
	z-index: 1;
}

.pp-page .pp-pricing__header {
	max-width: 860px;
}

.pp-page .pp-pricing__header > span,
.pp-page .pp-benefits__header > span,
.pp-page .pp-gallery__header > span {
	display: block;
	margin-bottom: 15px;
	color: #f45628;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.25;
	text-transform: uppercase;
}

.pp-page .pp-pricing__header h2,
.pp-page .pp-benefits__header h2,
.pp-page .pp-gallery__header h2 {
	color: #25282c;
	font-size: 43px;
	font-weight: 700;
	letter-spacing: -.04em;
	line-height: 1.08;
}

.pp-page .pp-pricing__header p,
.pp-page .pp-benefits__header p,
.pp-page .pp-gallery__header p {
	margin-top: 17px;
	color: #686d72;
	font-size: 16px;
	line-height: 1.65;
}

.pp-page .pp-pricing__tabs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 38px;
}

.pp-page .pp-pricing__tabs button {
	min-height: 50px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid #d8d3cb;
	border-radius: 25px;
	background: rgba(255, 255, 255, .82);
	color: #50545a;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
	transition: color .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.pp-page .pp-pricing__tabs button:hover {
	border-color: #bbb5ad;
	background: #fff;
	transform: translateY(-1px);
}

.pp-page .pp-pricing__tabs button.is-active {
	border-color: #272a2e;
	background: #272a2e;
	box-shadow: 0 9px 20px rgba(39, 42, 46, .14);
	color: #fff;
}

.pp-page .pp-pricing__tabs button:focus-visible {
	outline: 3px solid rgba(244, 86, 40, .28);
	outline-offset: 3px;
}

.pp-page .pp-pricing__layout {
	display: grid;
	align-items: stretch;
	margin-top: 32px;
	grid-template-columns: minmax(0, 760px) minmax(300px, 1fr);
	gap: 38px;
}

.pp-page .pp-pricing__table-card {
	overflow: hidden;
	border: 1px solid #e0dcd5;
	border-radius: 19px;
	background: #fff;
	box-shadow: 0 16px 36px rgba(41, 43, 46, .08);
	transition: opacity .18s ease, transform .2s ease;
}

.pp-page .pp-pricing__table-card.is-updating {
	opacity: .72;
	transform: translateY(3px);
}

.pp-page .pp-pricing__table-card table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
	table-layout: fixed;
}

.pp-page .pp-pricing__table-card thead {
	background: #272a2e;
	color: #fff;
}

.pp-page .pp-pricing__table-card thead th {
	height: 76px;
	padding: 0 18px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.25;
	text-align: left;
	text-transform: uppercase;
}

.pp-page .pp-pricing__table-card thead th:first-child {
	width: 110px;
	padding-left: 34px;
}

.pp-page .pp-pricing__table-card thead th:last-child {
	width: 150px;
	padding-right: 34px;
	text-align: right;
}

.pp-page .pp-pricing__table-card tbody tr {
	position: relative;
	height: 88px;
	border-bottom: 1px solid #ece9e4;
	transition: background-color .22s ease;
}

.pp-page .pp-pricing__table-card tbody tr:last-child {
	border-bottom: 0;
}

.pp-page .pp-pricing__table-card tbody tr.is-selected {
	background: #fff8f5;
}

.pp-page .pp-pricing__table-card tbody th,
.pp-page .pp-pricing__table-card tbody td {
	padding: 0 18px;
	color: #74787d;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	text-align: left;
}

.pp-page .pp-pricing__table-card tbody th {
	padding-left: 34px;
	color: #292c30;
	font-size: 22px;
	font-weight: 700;
}

.pp-page .pp-pricing__table-card tbody td:last-child {
	padding-right: 34px;
	text-align: right;
}

.pp-page .pp-pricing__table-card tbody td strong {
	display: inline-block;
	color: #292c30;
	font-size: 21px;
	font-weight: 700;
	line-height: 1;
	transition: color .2s ease, transform .2s ease;
}

.pp-page .pp-pricing__table-card tbody tr:last-child td strong,
.pp-page .pp-pricing__table-card tbody tr.is-selected td strong {
	color: #f45628;
}

.pp-page .pp-pricing__table-card.is-updating tbody td strong {
	transform: translateY(2px);
}

.pp-page .pp-pricing__included {
	display: grid;
	align-items: center;
	min-height: 96px;
	padding: 18px 24px 18px 30px;
	border-top: 1px solid #e8e4de;
	background: #fbfaf8;
	grid-template-columns: 30px minmax(0, 1fr) auto;
	gap: 13px;
}

.pp-page .pp-pricing__included > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #f45628;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
}

.pp-page .pp-pricing__included p {
	color: #686d72;
	font-size: 14px;
	line-height: 1.55;
}

.pp-page .pp-pricing__included p strong {
	color: #303338;
	font-weight: 700;
}

.pp-page .pp-pricing__included button {
	min-height: 46px;
	margin: 0;
	padding: 0 18px;
	border: 0;
	border-radius: 8px;
	background: #f45628;
	color: #fff;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.pp-page .pp-pricing__included button:hover {
	background: #df451d;
	box-shadow: 0 9px 18px rgba(244, 86, 40, .2);
	transform: translateY(-1px);
}

.pp-page .pp-pricing__included button:focus-visible {
	outline: 3px solid rgba(244, 86, 40, .25);
	outline-offset: 3px;
}

.pp-page .pp-pricing__terms {
	display: grid;
	grid-template-rows: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.pp-page .pp-pricing__term {
	display: flex;
	justify-content: center;
	min-height: 0;
	padding: 26px 28px;
	border: 1px solid #ded9d2;
	border-radius: 18px;
	background: rgba(255, 255, 255, .93);
	box-shadow: 0 10px 25px rgba(42, 44, 47, .045);
	flex-direction: column;
}

.pp-page .pp-pricing__term > span {
	margin-bottom: 12px;
	color: #f45628;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.pp-page .pp-pricing__term--economy > span {
	color: #269c68;
}

.pp-page .pp-pricing__term > strong {
	color: #292c30;
	font-size: 25px;
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.18;
}

.pp-page .pp-pricing__term p {
	margin-top: 13px;
	color: #6d7277;
	font-size: 14px;
	line-height: 1.55;
}

.pp-page .pp-pricing__term--discount {
	border-color: #f45628;
	background: #f45628;
	box-shadow: 0 16px 30px rgba(244, 86, 40, .18);
}

.pp-page .pp-pricing__term--discount > span,
.pp-page .pp-pricing__term--discount > strong,
.pp-page .pp-pricing__term--discount p {
	color: #fff;
}

/* Main service benefits */
.pp-page .pp-benefits {
	padding: 91px 0 98px;
	background: #fff;
}

.pp-page .pp-benefits__header {
	max-width: 820px;
}

.pp-page .pp-benefits__grid {
	display: grid;
	margin-top: 46px;
	border-top: 1px solid #e9e6e1;
	border-bottom: 1px solid #e9e6e1;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pp-page .pp-benefits__item {
	display: grid;
	align-items: center;
	min-width: 0;
	min-height: 142px;
	padding: 28px 24px;
	border-right: 1px solid #e9e6e1;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 17px;
}

.pp-page .pp-benefits__item:first-child {
	padding-left: 0;
}

.pp-page .pp-benefits__item:last-child {
	padding-right: 0;
	border-right: 0;
}

.pp-page .pp-benefits__icon {
	display: grid;
	width: 54px;
	height: 54px;
	border: 1px solid rgba(244, 86, 40, .3);
	border-radius: 16px;
	background: #fff8f5;
	place-items: center;
}

.pp-page .pp-benefits__icon svg {
	display: block;
	width: 38px;
	height: 38px;
	fill: none;
	stroke: #f45628;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pp-page .pp-benefits__item strong {
	display: block;
	color: #292c30;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

.pp-page .pp-benefits__item p {
	margin-top: 7px;
	color: #73777c;
	font-size: 14px;
	line-height: 1.5;
}

.pp-motion-ready .pp-page .pp-pricing__header,
.pp-motion-ready .pp-page .pp-pricing__tabs,
.pp-motion-ready .pp-page .pp-pricing__table-card,
.pp-motion-ready .pp-page .pp-pricing__terms,
.pp-motion-ready .pp-page .pp-benefits__header,
.pp-motion-ready .pp-page .pp-benefits__item {
	opacity: 0;
	transform: translateY(22px);
}

.pp-motion-ready .pp-page .pp-pricing.is-visible .pp-pricing__header,
.pp-motion-ready .pp-page .pp-pricing.is-visible .pp-pricing__tabs,
.pp-motion-ready .pp-page .pp-pricing.is-visible .pp-pricing__table-card,
.pp-motion-ready .pp-page .pp-pricing.is-visible .pp-pricing__terms,
.pp-motion-ready .pp-page .pp-benefits.is-visible .pp-benefits__header,
.pp-motion-ready .pp-page .pp-benefits.is-visible .pp-benefits__item {
	opacity: 1;
	transform: translateY(0);
	transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .2, 1);
}

.pp-motion-ready .pp-page .pp-pricing.is-visible .pp-pricing__tabs { transition-delay: .06s; }
.pp-motion-ready .pp-page .pp-pricing.is-visible .pp-pricing__table-card { transition-delay: .12s; }
.pp-motion-ready .pp-page .pp-pricing.is-visible .pp-pricing__terms { transition-delay: .18s; }
.pp-motion-ready .pp-page .pp-benefits.is-visible .pp-benefits__item:nth-child(1) { transition-delay: .06s; }
.pp-motion-ready .pp-page .pp-benefits.is-visible .pp-benefits__item:nth-child(2) { transition-delay: .12s; }
.pp-motion-ready .pp-page .pp-benefits.is-visible .pp-benefits__item:nth-child(3) { transition-delay: .18s; }
.pp-motion-ready .pp-page .pp-benefits.is-visible .pp-benefits__item:nth-child(4) { transition-delay: .24s; }

/* Generated project gallery */
.pp-page .pp-gallery {
	position: relative;
	padding: 102px 0 112px;
	border-top: 1px solid #efede9;
	background: #fbfaf8;
}

.pp-page .pp-gallery__header {
	max-width: 900px;
}

.pp-page .pp-gallery__grid {
	display: grid;
	margin-top: 44px;
	grid-template-columns: minmax(0, 1.42fr) minmax(340px, 1fr);
	grid-template-rows: repeat(2, 258px);
	gap: 22px;
}

.pp-page .pp-gallery__item {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 19px;
	background: #e8e5e0;
	box-shadow: 0 13px 30px rgba(39, 42, 46, .09);
	cursor: zoom-in;
	isolation: isolate;
}

.pp-page .pp-gallery__item--main {
	grid-row: 1 / span 2;
}

.pp-page .pp-gallery__item::after {
	position: absolute;
	inset: 38% 0 0;
	z-index: 1;
	background: linear-gradient(to bottom, transparent, rgba(15, 17, 19, .36));
	content: "";
	pointer-events: none;
	transition: opacity .3s ease;
}

.pp-page .pp-gallery__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: filter .42s ease, transform .55s cubic-bezier(.2, .7, .2, 1);
}

.pp-page .pp-gallery__item--main img {
	object-position: 50% 50%;
}

.pp-page .pp-gallery__label {
	position: absolute;
	right: 72px;
	bottom: 19px;
	left: 19px;
	z-index: 2;
	display: flex;
	width: max-content;
	max-width: calc(100% - 91px);
	min-height: 58px;
	padding: 11px 17px;
	border: 1px solid rgba(255, 255, 255, .55);
	border-radius: 11px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 8px 20px rgba(0, 0, 0, .11);
	backdrop-filter: blur(9px);
	color: #292c30;
	text-align: left;
	flex-direction: column;
	justify-content: center;
	transition: transform .28s ease;
}

.pp-page .pp-gallery__label strong {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}

.pp-page .pp-gallery__label small {
	margin-top: 3px;
	color: #70757a;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
}

.pp-page .pp-gallery__item > i {
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 2;
	display: grid;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 8px 20px rgba(0, 0, 0, .13);
	opacity: 0;
	place-items: center;
	transform: translateY(-7px);
	transition: opacity .25s ease, transform .25s ease;
}

.pp-page .pp-gallery__item > i svg {
	width: 23px;
	height: 23px;
	fill: none;
	stroke: #292c30;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pp-page .pp-gallery__item:hover img {
	filter: saturate(1.06) contrast(1.025);
	transform: scale(1.035);
}

.pp-page .pp-gallery__item:hover .pp-gallery__label {
	transform: translateY(-3px);
}

.pp-page .pp-gallery__item:hover > i,
.pp-page .pp-gallery__item:focus-visible > i {
	opacity: 1;
	transform: translateY(0);
}

.pp-page .pp-gallery__item:focus-visible {
	outline: 3px solid rgba(244, 86, 40, .42);
	outline-offset: 4px;
}

.pp-page .pp-gallery__visit {
	display: grid;
	align-items: center;
	min-height: 158px;
	margin-top: 38px;
	padding: 28px 30px;
	border: 1px solid #e5e0d9;
	border-radius: 18px;
	background: #f1eee9;
	grid-template-columns: 78px minmax(0, 1fr) auto;
	gap: 24px;
}

.pp-page .pp-gallery__swatches {
	position: relative;
	width: 70px;
	height: 72px;
}

.pp-page .pp-gallery__swatches i {
	position: absolute;
	top: 7px;
	left: 12px;
	width: 42px;
	height: 58px;
	border: 4px solid #fff;
	border-radius: 4px;
	background: linear-gradient(145deg, #f45628, #ffb327);
	box-shadow: 0 7px 13px rgba(41, 43, 46, .15);
	transform: rotate(-9deg);
}

.pp-page .pp-gallery__swatches i:nth-child(2) {
	background: linear-gradient(145deg, #19a8c4, #334fc5);
	transform: rotate(1deg) translate(7px, -2px);
}

.pp-page .pp-gallery__swatches i:nth-child(3) {
	background: linear-gradient(145deg, #24272b, #e91e63);
	transform: rotate(10deg) translate(13px, -1px);
}

.pp-page .pp-gallery__visit > div:nth-child(2) > span {
	display: block;
	margin-bottom: 9px;
	color: #f45628;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.3;
	text-transform: uppercase;
}

.pp-page .pp-gallery__visit h3 {
	color: #292c30;
	font-size: 21px;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.3;
}

.pp-page .pp-gallery__visit p {
	margin-top: 8px;
	color: #74787d;
	font-size: 14px;
	line-height: 1.5;
}

.pp-page .pp-gallery__visit > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 20px;
	border: 1px solid #d2ccc4;
	border-radius: 9px;
	background: #fff;
	box-shadow: 0 5px 13px rgba(39, 42, 46, .045);
	color: #292c30;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition: color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.pp-page .pp-gallery__visit > a b {
	display: inline-block;
	margin-left: 7px;
	transition: transform .22s ease;
}

.pp-page .pp-gallery__visit > a:hover {
	border-color: #f45628;
	box-shadow: 0 9px 20px rgba(244, 86, 40, .12);
	color: #f45628;
	transform: translateY(-1px);
}

.pp-page .pp-gallery__visit > a:hover b {
	transform: translateX(4px);
}

.pp-page .pp-gallery__visit > a:focus-visible {
	outline: 3px solid rgba(244, 86, 40, .28);
	outline-offset: 3px;
}

/* Production process */
.pp-page .pp-process {
	position: relative;
	padding: 108px 0 116px;
	border-top: 1px solid #efede9;
	background: #fff;
}

.pp-page .pp-process__header {
	max-width: 820px;
}

.pp-page .pp-process__header > span {
	display: block;
	margin-bottom: 15px;
	color: #f45628;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .13em;
	line-height: 1.25;
	text-transform: uppercase;
}

.pp-page .pp-process__header h2 {
	color: #24272b;
	font-size: 43px;
	font-weight: 700;
	letter-spacing: -.04em;
	line-height: 1.08;
}

.pp-page .pp-process__header p {
	margin-top: 18px;
	color: #686c71;
	font-size: 16px;
	line-height: 1.65;
}

.pp-page .pp-process__steps {
	position: relative;
	display: grid;
	margin-top: 52px;
	list-style: none;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
}

.pp-page .pp-process__steps::before,
.pp-page .pp-process__steps::after {
	position: absolute;
	top: 27px;
	right: calc(25% - 28px);
	left: 28px;
	height: 2px;
	border-radius: 2px;
	content: "";
	pointer-events: none;
}

.pp-page .pp-process__steps::before {
	background: #e5e1db;
}

.pp-page .pp-process__steps::after {
	background: linear-gradient(90deg, #f45628, #ff8f6f);
	transform: scaleX(1);
	transform-origin: left center;
}

.pp-page .pp-process__step {
	position: relative;
	z-index: 1;
	min-width: 0;
	padding-right: 28px;
}

.pp-page .pp-process__step:last-child {
	padding-right: 0;
}

.pp-page .pp-process__number {
	display: grid;
	width: 56px;
	height: 56px;
	border: 7px solid #fff;
	border-radius: 50%;
	background: #292c30;
	box-shadow: 0 0 0 1px #e3ded7, 0 8px 22px rgba(38, 40, 44, .12);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	place-items: center;
	transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.pp-page .pp-process__step--result .pp-process__number {
	background: #f45628;
	box-shadow: 0 0 0 1px rgba(244, 86, 40, .28), 0 10px 24px rgba(244, 86, 40, .22);
}

.pp-page .pp-process__step:hover .pp-process__number {
	background: #f45628;
	box-shadow: 0 0 0 1px rgba(244, 86, 40, .28), 0 10px 24px rgba(244, 86, 40, .2);
	transform: translateY(-2px);
}

.pp-page .pp-process__step h3 {
	margin-top: 23px;
	color: #292c30;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.3;
}

.pp-page .pp-process__step p {
	max-width: 255px;
	margin-top: 10px;
	color: #777b80;
	font-size: 14px;
	line-height: 1.6;
}

.pp-page .pp-process__action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 106px;
	margin-top: 48px;
	padding: 21px 24px 21px 26px;
	border: 1px solid #e5e0d9;
	border-radius: 17px;
	background: #f4f1ec;
	gap: 28px;
}

.pp-page .pp-process__promise {
	display: grid;
	align-items: center;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 17px;
}

.pp-page .pp-process__promise > span {
	display: grid;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 6px 18px rgba(40, 42, 46, .07);
	color: #f45628;
	place-items: center;
}

.pp-page .pp-process__promise svg {
	width: 26px;
	height: 26px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.pp-page .pp-process__promise div {
	display: flex;
	flex-direction: column;
}

.pp-page .pp-process__promise strong {
	color: #292c30;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
}

.pp-page .pp-process__promise small {
	margin-top: 5px;
	color: #777b80;
	font-size: 14px;
	line-height: 1.45;
}

.pp-page .pp-process__button {
	min-width: 210px;
	flex: 0 0 auto;
}

.pp-page .pp-process__button b {
	display: inline-block;
	margin-left: 9px;
	transition: transform .2s ease;
}

.pp-page .pp-process__button:hover b {
	transform: translateX(4px);
}

.pp-motion-ready .pp-page .pp-process__header,
.pp-motion-ready .pp-page .pp-process__step,
.pp-motion-ready .pp-page .pp-process__action {
	opacity: 0;
	transform: translateY(18px);
}

.pp-motion-ready .pp-page .pp-process__steps::after {
	transform: scaleX(0);
}

.pp-motion-ready .pp-page .pp-process.is-visible .pp-process__header,
.pp-motion-ready .pp-page .pp-process.is-visible .pp-process__step,
.pp-motion-ready .pp-page .pp-process.is-visible .pp-process__action {
	opacity: 1;
	transform: translateY(0);
	transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .2, 1);
}

.pp-motion-ready .pp-page .pp-process.is-visible .pp-process__steps::after {
	transform: scaleX(1);
	transition: transform 1s cubic-bezier(.2, .7, .2, 1) .1s;
}

.pp-motion-ready .pp-page .pp-process.is-visible .pp-process__step:nth-child(1) { transition-delay: .08s; }
.pp-motion-ready .pp-page .pp-process.is-visible .pp-process__step:nth-child(2) { transition-delay: .16s; }
.pp-motion-ready .pp-page .pp-process.is-visible .pp-process__step:nth-child(3) { transition-delay: .24s; }
.pp-motion-ready .pp-page .pp-process.is-visible .pp-process__step:nth-child(4) { transition-delay: .32s; }
.pp-motion-ready .pp-page .pp-process.is-visible .pp-process__action { transition-delay: .4s; }

/* Gallery viewer */
.pp-page.pp-gallery-open {
	overflow: hidden;
}

.pp-page .pp-gallery-viewer[hidden] {
	display: none !important;
}

.pp-page .pp-gallery-viewer {
	position: fixed;
	inset: 0;
	z-index: 3200;
	display: grid;
	padding: 34px;
	place-items: center;
}

.pp-page .pp-gallery-viewer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(17, 19, 22, .88);
	backdrop-filter: blur(10px);
}

.pp-page .pp-gallery-viewer__dialog {
	position: relative;
	z-index: 1;
	width: min(1120px, 100%);
	max-height: calc(100vh - 68px);
	padding: 52px 72px 23px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 21px;
	background: #202328;
	box-shadow: 0 26px 75px rgba(0, 0, 0, .48);
	outline: none;
}

.pp-page .pp-gallery-viewer figure {
	display: flex;
	max-height: calc(100vh - 144px);
	flex-direction: column;
}

.pp-page .pp-gallery-viewer figure > img {
	display: block;
	width: 100%;
	min-height: 0;
	max-height: calc(100vh - 230px);
	border-radius: 13px;
	background: #141619;
	object-fit: contain;
	transition: opacity .2s ease, transform .2s ease;
}

.pp-page .pp-gallery-viewer figure > img.is-switching {
	opacity: .25;
	transform: scale(.992);
}

.pp-page .pp-gallery-viewer figcaption {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 75px;
	padding-top: 17px;
	gap: 24px;
}

.pp-page .pp-gallery-viewer figcaption > div {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.pp-page .pp-gallery-viewer figcaption strong {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.pp-page .pp-gallery-viewer figcaption span {
	margin-top: 5px;
	color: #b7bbc0;
	font-size: 14px;
	line-height: 1.45;
}

.pp-page .pp-gallery-viewer figcaption small {
	color: #b7bbc0;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.pp-page .pp-gallery-viewer__close,
.pp-page .pp-gallery-viewer__nav {
	position: absolute;
	z-index: 2;
	display: grid;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .95);
	color: #23262a;
	font-family: Arial, sans-serif;
	cursor: pointer;
	place-items: center;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.pp-page .pp-gallery-viewer__close {
	top: 13px;
	right: 14px;
	width: 38px;
	height: 38px;
	font-size: 28px;
	line-height: 1;
}

.pp-page .pp-gallery-viewer__close span {
	transform: translateY(-1px);
}

.pp-page .pp-gallery-viewer__nav {
	top: 50%;
	width: 45px;
	height: 45px;
	font-size: 22px;
	transform: translateY(-50%);
}

.pp-page .pp-gallery-viewer__nav--prev {
	left: 14px;
}

.pp-page .pp-gallery-viewer__nav--next {
	right: 14px;
}

.pp-page .pp-gallery-viewer__close:hover,
.pp-page .pp-gallery-viewer__nav:hover {
	background: #f45628;
	color: #fff;
}

.pp-page .pp-gallery-viewer__nav:hover {
	transform: translateY(-50%) scale(1.05);
}

.pp-page .pp-gallery-viewer__close:focus-visible,
.pp-page .pp-gallery-viewer__nav:focus-visible {
	outline: 3px solid rgba(244, 86, 40, .65);
	outline-offset: 3px;
}

.pp-motion-ready .pp-page .pp-gallery__header,
.pp-motion-ready .pp-page .pp-gallery__item,
.pp-motion-ready .pp-page .pp-gallery__visit {
	opacity: 0;
	transform: translateY(22px);
}

.pp-motion-ready .pp-page .pp-gallery.is-visible .pp-gallery__header,
.pp-motion-ready .pp-page .pp-gallery.is-visible .pp-gallery__item,
.pp-motion-ready .pp-page .pp-gallery.is-visible .pp-gallery__visit {
	opacity: 1;
	transform: translateY(0);
	transition: opacity .62s ease, transform .62s cubic-bezier(.2, .7, .2, 1);
}

.pp-motion-ready .pp-page .pp-gallery.is-visible .pp-gallery__item--main { transition-delay: .07s; }
.pp-motion-ready .pp-page .pp-gallery.is-visible .pp-gallery__item:nth-child(2) { transition-delay: .13s; }
.pp-motion-ready .pp-page .pp-gallery.is-visible .pp-gallery__item:nth-child(3) { transition-delay: .19s; }
.pp-motion-ready .pp-page .pp-gallery.is-visible .pp-gallery__visit { transition-delay: .24s; }

/* The new hero contains the page breadcrumb; the legacy calculator starts below it. */
.pp-page .content .tabs_sect.breadcrumbs {
	display: none;
}

/* Replaced legacy calculator, service cards and price table remain in source for compatibility. */
.pp-page .content .section-1,
.pp-page .content .section-2,
.pp-page .content #nav_section_2,
.pp-page .content #nav_section_2 + .h2_wrapp,
.pp-page .content .section-3 {
	display: none;
}

.pp-page #calculator {
	scroll-margin-top: 24px;
}

/* Permanent footer used across CopyTKKS pages */
.pp-page .ct-footer,
.pp-page .ct-footer *,
.pp-page .pp-capture,
.pp-page .pp-capture * {
	box-sizing: border-box;
}

.pp-page .ct-footer {
	position: relative;
	overflow: hidden;
	padding: 76px 0 30px;
	background: #fbf9f6;
	color: #2b2d30;
	font-family: "Montserrat", Arial, sans-serif;
}

.pp-page .ct-footer__glow {
	position: absolute;
	top: -220px;
	right: -180px;
	width: 780px;
	height: 620px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(244, 86, 40, .075), rgba(244, 86, 40, 0) 68%);
	pointer-events: none;
}

.pp-page .ct-footer__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1640px;
	margin: 0 auto;
	padding: 0 42px;
}

.pp-page .ct-footer__grid {
	display: grid;
	grid-template-columns: minmax(250px, 1.3fr) repeat(4, minmax(135px, .78fr)) minmax(280px, 1.35fr);
	gap: 42px;
}

.pp-page .ct-footer :where(h2, p, ul) {
	margin: 0;
	padding: 0;
}

.pp-page .ct-footer ul {
	list-style: none;
}

.pp-page .ct-footer a {
	color: inherit;
	text-decoration: none;
}

.pp-page .ct-footer__brand > a {
	display: block;
	width: 216px;
	line-height: 0;
}

.pp-page .ct-footer__brand img {
	display: block;
	width: 216px;
	height: auto;
}

.pp-page .ct-footer__brand p {
	margin-top: 31px;
	color: #85817d;
	font-size: 13px;
	line-height: 1.55;
}

.pp-page .ct-footer__brand > strong {
	display: block;
	margin-top: 10px;
	font-size: 12px;
	font-weight: 600;
}

.pp-page .ct-footer__socials {
	display: flex;
	gap: 12px;
	margin-top: 36px;
}

.pp-page .ct-footer__socials a {
	display: grid;
	width: 40px;
	height: 40px;
	border: 1px solid #e5e0da;
	border-radius: 50%;
	background: rgba(255, 255, 255, .78);
	place-items: center;
	transition: border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.pp-page .ct-footer__socials a:hover {
	border-color: #f45628;
	color: #f45628;
	box-shadow: 0 8px 20px rgba(37, 39, 42, .07);
	transform: translateY(-2px);
}

.pp-page .ct-footer__socials svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.55;
}

.pp-page .ct-footer__column h2,
.pp-page .ct-footer__contacts h2 {
	margin: 5px 0 30px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
}

.pp-page .ct-footer__column ul {
	display: grid;
	gap: 21px;
}

.pp-page .ct-footer__column a {
	color: #7c7975;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.35;
	transition: color .2s ease;
}

.pp-page .ct-footer__column a:hover,
.pp-page .ct-footer__contacts a:hover,
.pp-page .ct-footer__bottom a:hover {
	color: #f45628;
}

.pp-page .ct-footer__contacts > ul {
	display: grid;
}

.pp-page .ct-footer__contacts > ul > li {
	display: grid;
	min-height: 52px;
	padding: 0 0 14px;
	border-bottom: 1px solid #e8e3dd;
	grid-template-columns: 30px 1fr;
	gap: 12px;
	align-items: start;
}

.pp-page .ct-footer__contacts > ul > li + li {
	padding-top: 13px;
}

.pp-page .ct-footer__contacts li > span {
	display: grid;
	width: 28px;
	height: 28px;
	border: 1px solid rgba(244, 86, 40, .28);
	border-radius: 50%;
	color: #f45628;
	place-items: center;
}

.pp-page .ct-footer__contacts svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.5;
}

.pp-page .ct-footer__contacts a,
.pp-page .ct-footer__contacts strong {
	color: #383a3d;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

.pp-page .ct-footer__contacts small {
	display: block;
	margin-top: 5px;
	color: #97938f;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
}

.pp-page .ct-footer__bottom {
	display: grid;
	margin-top: 75px;
	padding-top: 30px;
	border-top: 1px solid #e4dfd9;
	color: #85817d;
	font-size: 12px;
	line-height: 1.4;
	grid-template-columns: 1fr auto 1fr;
	gap: 28px;
	align-items: center;
}

.pp-page .ct-footer__bottom > div {
	display: flex;
	gap: 54px;
}

.pp-page .ct-footer__bottom > span:last-child {
	text-align: right;
}

.pp-page .ct-footer__bottom b {
	color: #f45628;
}

/* Capture form */
.pp-page.pp-modal-open {
	overflow: hidden;
}

.pp-page .pp-capture[hidden] {
	display: none !important;
}

.pp-page .pp-capture {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: grid;
	padding: 24px;
	font-family: "Montserrat", Arial, sans-serif;
	place-items: center;
}

.pp-page .pp-capture__backdrop {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(24, 26, 29, .72);
	backdrop-filter: blur(7px);
	cursor: default;
}

.pp-page .pp-capture__dialog {
	position: relative;
	z-index: 1;
	display: grid;
	width: min(980px, 100%);
	max-height: calc(100vh - 48px);
	overflow: auto;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 30px 90px rgba(16, 18, 20, .3);
	grid-template-columns: 350px minmax(0, 1fr);
	animation: pp-capture-in .24s ease both;
}

@keyframes pp-capture-in {
	from { opacity: 0; transform: translateY(12px) scale(.985); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

.pp-page .pp-capture__close {
	position: absolute;
	top: 17px;
	right: 17px;
	z-index: 2;
	display: grid;
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0;
	border: 1px solid #e6e2dd;
	border-radius: 50%;
	background: #fff;
	color: #393c40;
	cursor: pointer;
	place-items: center;
}

.pp-page .pp-capture__close:hover {
	border-color: #f45628;
	color: #f45628;
}

.pp-page .pp-capture__close svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.8;
}

.pp-page .pp-capture__intro {
	position: relative;
	overflow: hidden;
	padding: 48px 38px;
	border-radius: 24px 0 0 24px;
	background-color: #24272b;
	background-image:
		linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
	background-size: 24px 24px;
	color: #fff;
}

.pp-page .pp-capture__intro::after {
	position: absolute;
	right: -80px;
	bottom: -100px;
	width: 250px;
	height: 250px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(244, 86, 40, .4), rgba(244, 86, 40, 0) 70%);
	content: "";
}

.pp-page .pp-capture__intro > span {
	display: inline-flex;
	min-height: 28px;
	padding: 0 11px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 14px;
	color: #ff8b69;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 26px;
	text-transform: uppercase;
}

.pp-page .pp-capture__intro h2 {
	margin: 24px 0 16px;
	font-size: 31px;
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: 1.08;
}

.pp-page .pp-capture__intro p {
	margin: 0;
	color: #c7c9cc;
	font-size: 13px;
	line-height: 1.55;
}

.pp-page .pp-capture__intro ul {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 13px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}

.pp-page .pp-capture__intro li {
	position: relative;
	padding-left: 23px;
	color: #f4f4f5;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
}

.pp-page .pp-capture__intro li::before {
	position: absolute;
	top: 1px;
	left: 0;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: #f45628;
	color: #fff;
	content: "✓";
	font-size: 12px;
	font-weight: 700;
	line-height: 15px;
	text-align: center;
}

.pp-page .pp-capture__form {
	display: grid;
	gap: 15px;
	margin: 0;
	padding: 47px 48px 36px;
	background: #fff;
}

.pp-page .pp-capture__honeypot {
	position: absolute !important;
	left: -9999px !important;
}

.pp-page .pp-capture__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.pp-page .pp-capture__row--three {
	grid-template-columns: 1fr .72fr 1.35fr;
}

.pp-page .pp-capture__form label:not(.pp-capture__file) {
	display: grid;
	gap: 7px;
}

.pp-page .pp-capture__form label > span {
	color: #55595e;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
}

.pp-page .pp-capture__form :where(input, select, textarea) {
	width: 100%;
	min-width: 0;
	margin: 0;
	border: 1px solid #dedbd6;
	border-radius: 9px;
	background: #faf9f7;
	color: #292c30;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 14px;
	font-weight: 500;
	outline: none;
	transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.pp-page .pp-capture__form :where(input, select) {
	height: 45px;
	padding: 0 13px;
}

.pp-page .pp-capture__form textarea {
	min-height: 68px;
	padding: 12px 13px;
	line-height: 1.45;
	resize: vertical;
}

.pp-page .pp-capture__form :where(input, select, textarea):focus {
	border-color: #f45628;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(244, 86, 40, .1);
}

.pp-page .pp-capture__file {
	display: flex;
	align-items: center;
	min-height: 68px;
	padding: 12px 15px;
	border: 1px dashed #d4cfc8;
	border-radius: 10px;
	background: #faf8f5;
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease;
}

.pp-page .pp-capture.is-upload .pp-capture__file,
.pp-page .pp-capture__file:hover {
	border-color: #f45628;
	background: #fff5f1;
}

.pp-page .pp-capture__file input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.pp-page .pp-capture__file svg {
	flex: 0 0 27px;
	width: 27px;
	height: 27px;
	margin-right: 13px;
	fill: none;
	stroke: #f45628;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

.pp-page .pp-capture__file span {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.pp-page .pp-capture__file strong {
	color: #2d3034;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
}

.pp-page .pp-capture__file small {
	margin-top: 4px;
	overflow: hidden;
	color: #8d8984;
	font-size: 12px;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pp-page .pp-capture__submit {
	height: 49px;
	margin: 1px 0 0;
	padding: 0 20px;
	border: 0;
	border-radius: 9px;
	background: #f45628;
	color: #fff;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.pp-page .pp-capture__submit:hover {
	background: #dc441b;
	box-shadow: 0 10px 24px rgba(220, 68, 27, .2);
	transform: translateY(-1px);
}

.pp-page .pp-capture__submit:disabled {
	opacity: .68;
	cursor: wait;
	transform: none;
}

.pp-page .pp-capture__policy,
.pp-page .pp-capture__status {
	margin: -4px 0 0;
	color: #96928e;
	font-size: 12px;
	line-height: 1.45;
	text-align: center;
}

.pp-page .pp-capture__policy a {
	color: #5f6267;
	text-decoration: underline;
}

.pp-page .pp-capture__status {
	margin-top: 0;
	padding: 9px 11px;
	border-radius: 7px;
	background: #edf8ef;
	color: #2c6d38;
	font-weight: 600;
}

.pp-page .pp-capture__status.is-error {
	background: #fff0ed;
	color: #a53a24;
}

@media (max-width: 1279px) {
	.pp-page .pp-shell {
		max-width: none;
		padding-right: 32px;
		padding-left: 32px;
	}

	.pp-page .pp-header__nav {
		margin-left: 32px;
	}

	.pp-page .pp-header__nav ul {
		gap: 14px;
	}

	.pp-page .pp-header__nav a {
		font-size: 14px;
	}

	.pp-page .pp-hero__layout {
		grid-template-columns: minmax(0, 1fr) minmax(430px, 46%);
		gap: 40px;
	}

	.pp-page .pp-hero__facts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pp-page .pp-hero__visual {
		height: 610px;
	}

	.pp-page .pp-hero__equipment {
		right: 22px;
		left: 22px;
	}

	.pp-page .pp-materials__layout {
		grid-template-columns: 430px minmax(0, 1fr);
		gap: 34px;
	}

	.pp-page .pp-materials__option {
		padding-right: 48px;
		padding-left: 20px;
		grid-template-columns: 62px minmax(0, 1fr);
		gap: 16px;
	}

	.pp-page .pp-pricing__layout {
		grid-template-columns: minmax(0, 700px) minmax(280px, 1fr);
		gap: 30px;
	}

	.pp-page .pp-pricing__included {
		padding-right: 20px;
		padding-left: 24px;
	}

	.pp-page .pp-benefits__item {
		padding-right: 18px;
		padding-left: 18px;
		grid-template-columns: 52px minmax(0, 1fr);
		gap: 13px;
	}

	.pp-page .pp-benefits__icon {
		width: 50px;
		height: 50px;
	}

	.pp-page .pp-benefits__item strong {
		font-size: 16px;
	}

	.pp-page .pp-gallery__grid {
		grid-template-columns: minmax(0, 1.35fr) minmax(320px, 1fr);
		grid-template-rows: repeat(2, 240px);
		gap: 20px;
	}

	.pp-page .pp-gallery__visit {
		padding-right: 25px;
		padding-left: 25px;
		grid-template-columns: 70px minmax(0, 1fr) auto;
		gap: 19px;
	}

	.pp-page .ct-footer__inner {
		padding-right: 32px;
		padding-left: 32px;
	}

	.pp-page .ct-footer__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 56px 42px;
	}

	.pp-page .ct-footer__bottom {
		margin-top: 58px;
		grid-template-columns: 1fr 1fr;
	}

	.pp-page .ct-footer__bottom > div {
		justify-content: flex-end;
		gap: 28px;
	}

	.pp-page .ct-footer__bottom > span:last-child {
		grid-column: 1 / -1;
		text-align: left;
	}
}

@media (max-width: 1180px) {
	.pp-page .pp-header__contact {
		display: none;
	}

	.pp-page .pp-button--header {
		margin-left: auto;
	}
}

@media (max-width: 1080px) {
	.pp-page .pp-header__inner {
		height: 82px;
	}

	.pp-page .pp-header__nav {
		display: none;
	}

	.pp-page .pp-header__contact {
		display: flex;
	}

	.pp-page .pp-header__toggle {
		display: block;
	}

	.pp-page .pp-header__mobile {
		display: grid;
		max-height: 0;
		padding: 0 32px;
		overflow: hidden;
		border-top: 0 solid #ece9e4;
		background: #fff;
		grid-template-columns: 1fr auto;
		column-gap: 32px;
		opacity: 0;
		visibility: hidden;
		transition: max-height .28s ease, padding .28s ease, border-width .28s ease, opacity .2s ease, visibility .2s ease;
	}

	.pp-page .pp-header__mobile.is-open {
		max-height: 480px;
		padding-top: 24px;
		padding-bottom: 28px;
		border-top-width: 1px;
		opacity: 1;
		visibility: visible;
	}

	.pp-page .pp-header__mobile nav {
		grid-row: 1 / span 2;
	}

	.pp-page .pp-header__mobile nav ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(150px, 1fr));
		gap: 4px 26px;
	}

	.pp-page .pp-header__mobile nav a {
		display: block;
		padding: 10px 0;
		font-size: 15px;
		font-weight: 600;
	}

	.pp-page .pp-header__mobile nav a:hover {
		color: #f45628;
	}

	.pp-page .pp-header__mobile-contact {
		display: flex;
		align-self: start;
		flex-direction: column;
	}

	.pp-page .pp-header__mobile-contact span {
		margin-bottom: 6px;
		color: #888c91;
		font-size: 12px;
	}

	.pp-page .pp-header__mobile-contact a {
		font-size: 17px;
		font-weight: 700;
	}

	.pp-page .pp-button--mobile {
		align-self: end;
		min-height: 48px;
		margin-top: 18px;
		border-color: #f45628;
		background: #f45628;
		color: #fff !important;
		font-size: 14px;
	}

	.pp-page .pp-hero {
		min-height: 0;
	}

	.pp-page .pp-hero__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 54px;
		padding-top: 28px;
		padding-bottom: 80px;
	}

	.pp-page .pp-hero__content {
		max-width: 720px;
	}

	.pp-page .pp-hero h1 {
		font-size: 64px;
	}

	.pp-page .pp-hero__lead {
		margin-top: 38px;
	}

	.pp-page .pp-hero__facts {
		max-width: 560px;
		margin-top: 40px;
	}

	.pp-page .pp-hero__visual {
		width: 100%;
		height: min(72vw, 650px);
	}

	.pp-page .pp-quick-calc {
		margin-top: -46px;
		background: linear-gradient(to bottom, transparent 46px, #fff 46px);
	}

	.pp-page .pp-quick-calc__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pp-page .pp-quick-calc__field--material {
		grid-column: auto;
	}

	.pp-page .pp-quick-calc__footer {
		grid-template-columns: minmax(0, 1fr) 340px;
	}

	.pp-page .pp-materials__layout {
		grid-template-columns: 390px minmax(0, 1fr);
		gap: 30px;
	}

	.pp-page .pp-materials__preview {
		height: 548px;
	}

	.pp-page .pp-materials__option {
		min-height: 144px;
		padding-top: 18px;
		padding-bottom: 18px;
	}

	.pp-page .pp-materials__option-copy strong {
		font-size: 18px;
	}

	.pp-page .pp-materials__extras > button {
		margin-left: 0;
	}

	.pp-page .pp-pricing__layout {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.pp-page .pp-pricing__terms {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-template-rows: none;
	}

	.pp-page .pp-pricing__term {
		min-height: 205px;
		padding: 24px;
	}

	.pp-page .pp-pricing__term > strong {
		font-size: 22px;
	}

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

	.pp-page .pp-benefits__item,
	.pp-page .pp-benefits__item:first-child,
	.pp-page .pp-benefits__item:last-child {
		padding: 27px 24px;
	}

	.pp-page .pp-benefits__item:nth-child(2) {
		border-right: 0;
	}

	.pp-page .pp-benefits__item:nth-child(-n+2) {
		border-bottom: 1px solid #e9e6e1;
	}

	.pp-page .pp-gallery__grid {
		grid-template-columns: minmax(0, 1.3fr) minmax(290px, 1fr);
		grid-template-rows: repeat(2, 220px);
		gap: 18px;
	}

	.pp-page .pp-gallery__label {
		right: 62px;
		bottom: 15px;
		left: 15px;
		max-width: calc(100% - 77px);
		padding-right: 14px;
		padding-left: 14px;
	}

	.pp-page .pp-gallery__visit {
		grid-template-columns: 62px minmax(0, 1fr) auto;
		gap: 16px;
	}

	.pp-page .pp-gallery__visit h3 {
		font-size: 19px;
	}

	.pp-page .pp-gallery__visit > a {
		padding-right: 16px;
		padding-left: 16px;
	}

	.pp-page .pp-process__steps {
		gap: 0;
	}

	.pp-page .pp-process__step {
		padding-right: 18px;
	}

	.pp-page .pp-process__step:last-child {
		padding-right: 0;
	}

	.pp-page .pp-process__step p {
		max-width: none;
	}

	.pp-page .pp-process__action {
		padding-right: 22px;
		padding-left: 22px;
	}

	.pp-page .pp-capture__dialog {
		grid-template-columns: 300px minmax(0, 1fr);
	}

	.pp-page .pp-capture__intro {
		padding-right: 30px;
		padding-left: 30px;
	}

	.pp-page .pp-capture__form {
		padding-right: 34px;
		padding-left: 34px;
	}
}

@media (max-width: 720px) {
	.pp-page .pp-shell {
		padding-right: 20px;
		padding-left: 20px;
	}

	.pp-page .pp-header__inner {
		height: 72px;
	}

	.pp-page .pp-topline,
	.pp-page .pp-topline__inner {
		height: 33px;
	}

	.pp-page .pp-topline__address {
		max-width: 100%;
		overflow: hidden;
		font-size: 12px;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.pp-page .pp-topline__schedule {
		display: none;
	}

	.pp-page .pp-header__brand,
	.pp-page .pp-header__brand img {
		width: 174px;
		flex-basis: 174px;
	}

	.pp-page .pp-header__contact,
	.pp-page .pp-button--header {
		display: none;
	}

	.pp-page .pp-header__toggle {
		width: 44px;
		height: 44px;
		margin-left: auto;
	}

	.pp-page .pp-header__mobile {
		display: block;
		padding-right: 20px;
		padding-left: 20px;
	}

	.pp-page .pp-header__mobile nav ul {
		display: block;
	}

	.pp-page .pp-header__mobile nav a {
		padding: 9px 0;
	}

	.pp-page .pp-header__mobile-contact {
		margin-top: 20px;
		padding-top: 18px;
		border-top: 1px solid #ece9e4;
	}

	.pp-page .pp-button--mobile {
		width: 100%;
	}

	.pp-page .pp-service-nav__scroll {
		padding-right: 0;
	}

	.pp-page .pp-service-nav ul {
		gap: 24px;
	}

	.pp-page .pp-service-nav a {
		height: 52px;
		font-size: 13px;
	}

	.pp-page .pp-hero__layout {
		gap: 42px;
		padding-top: 23px;
		padding-bottom: 48px;
	}

	.pp-page .pp-hero__eyebrow {
		margin-top: 32px;
		font-size: 12px;
		letter-spacing: .16em;
	}

	.pp-page .pp-hero h1 {
		margin-top: 16px;
		font-size: clamp(40px, 11vw, 54px);
		line-height: 1.04;
	}

	.pp-page .pp-hero__lead {
		margin-top: 30px;
		font-size: 17px;
		line-height: 1.55;
	}

	.pp-page .pp-hero__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		margin-top: 30px;
	}

	.pp-page .pp-hero__facts > div {
		min-height: 78px;
		padding: 14px 15px;
	}

	.pp-page .pp-hero__facts > div:last-child {
		grid-column: 1 / -1;
	}

	.pp-page .pp-hero__facts dd {
		font-size: 22px;
	}

	.pp-page .pp-hero__actions {
		align-items: stretch;
		gap: 10px;
		margin-top: 22px;
		flex-direction: column;
	}

	.pp-page .pp-button--primary,
	.pp-page .pp-button--secondary {
		width: 100%;
		min-width: 0;
		min-height: 54px;
	}

	.pp-page .pp-hero__trust {
		font-size: 13px;
	}

	.pp-page .pp-hero__visual {
		height: 470px;
		border-radius: 20px;
	}

	.pp-page .pp-hero__visual > img {
		border-radius: 20px;
	}

	.pp-page .pp-hero__format {
		top: 18px;
		left: 16px;
	}

	.pp-page .pp-hero__cmyk {
		top: 70px;
	}

	.pp-page .pp-hero__cmyk i {
		width: 9px;
		height: 36px;
	}

	.pp-page .pp-hero__equipment {
		right: 14px;
		bottom: 14px;
		left: 14px;
		min-height: 100px;
		padding: 18px 18px 15px 20px;
	}

	.pp-page .pp-quick-calc {
		margin-top: 0;
		padding-top: 22px;
		padding-bottom: 58px;
		background: #fff;
	}

	.pp-page .pp-quick-calc__card {
		margin-right: 0;
		margin-left: 0;
		padding: 24px 20px 20px;
		border-radius: 15px;
		box-shadow: 0 12px 32px rgba(37, 39, 42, .1);
	}

	.pp-page .pp-quick-calc__header h2 {
		font-size: 24px;
	}

	.pp-page .pp-quick-calc__note {
		display: none;
	}

	.pp-page .pp-quick-calc__fields {
		grid-template-columns: 1fr;
		gap: 13px;
	}

	.pp-page .pp-quick-calc__control select {
		height: 58px;
	}

	.pp-page .pp-quick-calc__footer {
		grid-template-columns: 1fr;
		gap: 17px;
	}

	.pp-page .pp-quick-calc__summary {
		padding-top: 4px;
	}

	.pp-page .pp-quick-calc__summary strong {
		white-space: normal;
	}

	.pp-page .pp-quick-calc__total {
		min-height: 88px;
	}

	.pp-page .pp-usecases {
		padding-top: 8px;
		padding-bottom: 78px;
	}

	.pp-page .pp-usecases__intro h2 {
		font-size: 35px;
	}

	.pp-page .pp-usecases__intro p {
		margin-top: 15px;
		font-size: 15px;
	}

	.pp-page .pp-usecases__grid {
		margin-top: 34px;
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.pp-page .pp-usecases__card {
		max-width: 560px;
	}

	.pp-page .pp-usecases__image {
		height: min(58vw, 310px);
	}

	.pp-page .pp-usecases__body {
		min-height: 0;
		padding: 23px 22px 25px;
	}

	.pp-page .pp-materials {
		padding-top: 78px;
		padding-bottom: 82px;
	}

	.pp-page .pp-materials__header h2 {
		font-size: 35px;
	}

	.pp-page .pp-materials__header p {
		margin-top: 15px;
		font-size: 15px;
	}

	.pp-page .pp-materials__layout {
		margin-top: 34px;
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.pp-page .pp-materials__preview {
		height: 520px;
	}

	.pp-page .pp-materials__option {
		min-height: 132px;
		padding: 19px 50px 19px 19px;
	}

	.pp-page .pp-materials__extras {
		margin-top: 8px;
	}

	.pp-page .pp-pricing {
		padding-top: 78px;
		padding-bottom: 82px;
	}

	.pp-page .pp-pricing__header h2,
	.pp-page .pp-benefits__header h2,
	.pp-page .pp-gallery__header h2 {
		font-size: 35px;
	}

	.pp-page .pp-pricing__header p,
	.pp-page .pp-benefits__header p,
	.pp-page .pp-gallery__header p {
		margin-top: 15px;
		font-size: 15px;
	}

	.pp-page .pp-pricing__tabs {
		display: grid;
		margin-top: 30px;
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.pp-page .pp-pricing__tabs button {
		width: 100%;
		min-height: 48px;
		border-radius: 10px;
		text-align: left;
	}

	.pp-page .pp-pricing__layout {
		margin-top: 22px;
	}

	.pp-page .pp-pricing__table-card thead th {
		height: 64px;
		padding-right: 13px;
		padding-left: 13px;
	}

	.pp-page .pp-pricing__table-card thead th:first-child {
		width: 78px;
		padding-left: 22px;
	}

	.pp-page .pp-pricing__table-card thead th:last-child {
		width: 120px;
		padding-right: 22px;
	}

	.pp-page .pp-pricing__table-card tbody tr {
		height: 76px;
	}

	.pp-page .pp-pricing__table-card tbody th,
	.pp-page .pp-pricing__table-card tbody td {
		padding-right: 13px;
		padding-left: 13px;
		font-size: 14px;
	}

	.pp-page .pp-pricing__table-card tbody th {
		padding-left: 22px;
		font-size: 20px;
	}

	.pp-page .pp-pricing__table-card tbody td:last-child {
		padding-right: 22px;
	}

	.pp-page .pp-pricing__table-card tbody td strong {
		font-size: 19px;
	}

	.pp-page .pp-pricing__included {
		padding: 19px 20px;
		grid-template-columns: 30px minmax(0, 1fr);
	}

	.pp-page .pp-pricing__included button {
		grid-column: 1 / -1;
	}

	.pp-page .pp-pricing__terms {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.pp-page .pp-pricing__term {
		min-height: 0;
		padding: 25px 24px;
	}

	.pp-page .pp-benefits {
		padding-top: 76px;
		padding-bottom: 80px;
	}

	.pp-page .pp-benefits__grid {
		margin-top: 34px;
		grid-template-columns: 1fr;
	}

	.pp-page .pp-benefits__item,
	.pp-page .pp-benefits__item:first-child,
	.pp-page .pp-benefits__item:last-child {
		min-height: 116px;
		padding: 22px 0;
		border-right: 0;
		border-bottom: 1px solid #e9e6e1;
	}

	.pp-page .pp-benefits__item:last-child {
		border-bottom: 0;
	}

	.pp-page .pp-gallery {
		padding-top: 76px;
		padding-bottom: 82px;
	}

	.pp-page .pp-gallery__grid {
		margin-top: 34px;
		grid-template-columns: 1fr;
		grid-template-rows: none;
		gap: 16px;
	}

	.pp-page .pp-gallery__item,
	.pp-page .pp-gallery__item--main {
		height: min(62vw, 310px);
		grid-row: auto;
	}

	.pp-page .pp-gallery__item--main {
		height: min(72vw, 390px);
	}

	.pp-page .pp-gallery__item > i {
		top: 14px;
		right: 14px;
		opacity: 1;
		transform: none;
	}

	.pp-page .pp-gallery__visit {
		margin-top: 28px;
		padding: 25px 22px;
		grid-template-columns: 60px minmax(0, 1fr);
		gap: 18px;
	}

	.pp-page .pp-gallery__swatches {
		width: 58px;
	}

	.pp-page .pp-gallery__visit > a {
		width: 100%;
		margin-top: 2px;
		grid-column: 1 / -1;
	}

	.pp-page .pp-process {
		padding-top: 76px;
		padding-bottom: 82px;
	}

	.pp-page .pp-process__header h2 {
		font-size: 35px;
	}

	.pp-page .pp-process__header p {
		font-size: 15px;
	}

	.pp-page .pp-process__steps {
		display: grid;
		margin-top: 38px;
		grid-template-columns: 1fr;
		gap: 0;
	}

	.pp-page .pp-process__steps::before,
	.pp-page .pp-process__steps::after {
		top: 25px;
		right: auto;
		bottom: 25px;
		left: 24px;
		width: 2px;
		height: auto;
	}

	.pp-page .pp-process__steps::after {
		transform: scaleY(1);
		transform-origin: center top;
	}

	.pp-page .pp-process__step {
		display: grid;
		padding-right: 0;
		padding-bottom: 30px;
		grid-template-columns: 50px minmax(0, 1fr);
		gap: 17px;
	}

	.pp-page .pp-process__step:last-child {
		padding-bottom: 0;
	}

	.pp-page .pp-process__number {
		width: 50px;
		height: 50px;
		border-width: 6px;
		font-size: 13px;
	}

	.pp-page .pp-process__step h3 {
		margin-top: 2px;
		font-size: 18px;
	}

	.pp-page .pp-process__step p {
		margin-top: 7px;
		font-size: 14px;
		line-height: 1.55;
	}

	.pp-page .pp-process__action {
		align-items: stretch;
		margin-top: 36px;
		padding: 22px;
		flex-direction: column;
		gap: 20px;
	}

	.pp-page .pp-process__button {
		width: 100%;
		min-width: 0;
	}

	.pp-motion-ready .pp-page .pp-process__steps::after {
		transform: scaleY(0);
	}

	.pp-motion-ready .pp-page .pp-process.is-visible .pp-process__steps::after {
		transform: scaleY(1);
	}

	.pp-page .pp-gallery-viewer {
		padding: 12px;
	}

	.pp-page .pp-gallery-viewer__dialog {
		max-height: calc(100vh - 24px);
		padding: 52px 14px 17px;
		border-radius: 17px;
	}

	.pp-page .pp-gallery-viewer figure {
		max-height: calc(100vh - 93px);
	}

	.pp-page .pp-gallery-viewer figure > img {
		max-height: calc(100vh - 190px);
		border-radius: 10px;
	}

	.pp-page .pp-gallery-viewer figcaption {
		min-height: 82px;
		padding: 14px 4px 0;
	}

	.pp-page .pp-gallery-viewer__nav {
		top: calc(50% - 32px);
		width: 42px;
		height: 42px;
		background: rgba(255, 255, 255, .9);
	}

	.pp-page .pp-gallery-viewer__nav--prev {
		left: 22px;
	}

	.pp-page .pp-gallery-viewer__nav--next {
		right: 22px;
	}

	.pp-page .ct-footer {
		padding-top: 52px;
		padding-bottom: 24px;
	}

	.pp-page .ct-footer__inner {
		padding-right: 20px;
		padding-left: 20px;
	}

	.pp-page .ct-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 46px 24px;
	}

	.pp-page .ct-footer__brand,
	.pp-page .ct-footer__contacts {
		grid-column: 1 / -1;
	}

	.pp-page .ct-footer__column h2,
	.pp-page .ct-footer__contacts h2 {
		margin-bottom: 22px;
	}

	.pp-page .ct-footer__column ul {
		gap: 15px;
	}

	.pp-page .ct-footer__bottom {
		display: flex;
		align-items: flex-start;
		margin-top: 48px;
		padding-top: 24px;
		gap: 17px;
		flex-direction: column;
	}

	.pp-page .ct-footer__bottom > div {
		align-items: flex-start;
		gap: 9px;
		flex-direction: column;
	}

	.pp-page .pp-capture {
		align-items: end;
		padding: 0;
	}

	.pp-page .pp-capture__dialog {
		width: 100%;
		max-height: 94vh;
		border-radius: 22px 22px 0 0;
		grid-template-columns: 1fr;
	}

	.pp-page .pp-capture__intro {
		padding: 35px 24px 28px;
		border-radius: 22px 22px 0 0;
	}

	.pp-page .pp-capture__intro h2 {
		max-width: calc(100% - 38px);
		font-size: 27px;
	}

	.pp-page .pp-capture__intro ul {
		display: none;
	}

	.pp-page .pp-capture__form {
		padding: 28px 20px 24px;
	}

	.pp-page .pp-capture__row,
	.pp-page .pp-capture__row--three {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 420px) {
	.pp-page .pp-header__brand,
	.pp-page .pp-header__brand img {
		width: 160px;
		flex-basis: 160px;
	}

	.pp-page .pp-breadcrumbs ol {
		font-size: 12px;
	}

	.pp-page .pp-hero__eyebrow {
		padding-right: 11px;
		padding-left: 11px;
	}

	.pp-page .pp-hero__eyebrow span {
		margin-right: 8px;
	}

	.pp-page .pp-hero__visual {
		height: 400px;
	}

	.pp-page .pp-hero__equipment span {
		font-size: 12px;
	}

	.pp-page .pp-hero__equipment strong {
		font-size: 17px;
	}

	.pp-page .pp-quick-calc__header h2 {
		font-size: 22px;
	}

	.pp-page .pp-quick-calc__total {
		padding-left: 17px;
		grid-template-columns: 1fr 108px;
		gap: 10px;
	}

	.pp-page .pp-quick-calc__total strong {
		font-size: 25px;
	}

	.pp-page .pp-quick-calc__total button {
		min-width: 0;
		padding-right: 12px;
		padding-left: 12px;
	}

	.pp-page .pp-usecases__intro h2 {
		font-size: 31px;
	}

	.pp-page .pp-usecases__intro > span {
		font-size: 12px;
		line-height: 1.45;
	}

	.pp-page .pp-usecases__body h3 {
		font-size: 19px;
	}

	.pp-page .pp-materials__header h2 {
		font-size: 31px;
	}

	.pp-page .pp-materials__preview {
		height: 455px;
		border-radius: 18px;
	}

	.pp-page .pp-materials__art {
		padding: 22px 12px 118px;
	}

	.pp-page .pp-materials__preview figcaption {
		right: 14px;
		bottom: 14px;
		left: 14px;
		min-height: 112px;
		padding: 17px;
	}

	.pp-page .pp-materials__preview figcaption strong {
		font-size: 17px;
	}

	.pp-page .pp-materials__preview figcaption small {
		font-size: 13px;
	}

	.pp-page .pp-materials__option {
		min-height: 0;
		padding: 18px 42px 18px 16px;
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 13px;
	}

	.pp-page .pp-materials__swatch {
		width: 46px;
		height: 46px;
	}

	.pp-page .pp-materials__swatch--foamboard {
		width: 44px;
		height: 44px;
	}

	.pp-page .pp-materials__option-copy strong {
		font-size: 17px;
	}

	.pp-page .pp-materials__option-copy > span {
		font-size: 13px;
	}

	.pp-page .pp-materials__option > i {
		right: 13px;
	}

	.pp-page .pp-materials__extras > button {
		width: 100%;
		margin-top: 2px;
		text-align: left;
	}

	.pp-page .pp-pricing__header h2,
	.pp-page .pp-benefits__header h2,
	.pp-page .pp-gallery__header h2,
	.pp-page .pp-process__header h2 {
		font-size: 31px;
	}

	.pp-page .pp-pricing__tabs button {
		padding-right: 14px;
		padding-left: 14px;
		font-size: 13px;
	}

	.pp-page .pp-pricing__table-card {
		border-radius: 15px;
	}

	.pp-page .pp-pricing__table-card thead th:nth-child(2),
	.pp-page .pp-pricing__table-card tbody td:nth-child(2) {
		display: none;
	}

	.pp-page .pp-pricing__table-card thead th:first-child {
		width: auto;
	}

	.pp-page .pp-pricing__table-card thead th:last-child {
		width: 130px;
	}

	.pp-page .pp-pricing__included {
		grid-template-columns: 28px minmax(0, 1fr);
		gap: 11px;
	}

	.pp-page .pp-pricing__included p {
		font-size: 13px;
	}

	.pp-page .pp-pricing__term > strong {
		font-size: 21px;
	}

	.pp-page .pp-benefits__item {
		grid-template-columns: 52px minmax(0, 1fr);
	}

	.pp-page .pp-benefits__item strong {
		font-size: 17px;
	}

	.pp-page .pp-gallery__item,
	.pp-page .pp-gallery__item--main {
		height: 245px;
		border-radius: 16px;
	}

	.pp-page .pp-gallery__item--main {
		height: 285px;
	}

	.pp-page .pp-gallery__label {
		right: 14px;
		bottom: 13px;
		left: 13px;
		width: auto;
		max-width: none;
		min-height: 54px;
		padding: 9px 12px;
	}

	.pp-page .pp-gallery__label strong {
		font-size: 14px;
	}

	.pp-page .pp-gallery__item > i {
		width: 40px;
		height: 40px;
	}

	.pp-page .pp-gallery__visit {
		grid-template-columns: 1fr;
	}

	.pp-page .pp-gallery__swatches {
		display: none;
	}

	.pp-page .pp-process__promise {
		grid-template-columns: 46px minmax(0, 1fr);
		gap: 13px;
	}

	.pp-page .pp-process__promise > span {
		width: 46px;
		height: 46px;
	}

	.pp-page .pp-process__promise strong {
		font-size: 16px;
	}

	.pp-page .pp-process__promise small {
		font-size: 13px;
	}

	.pp-page .pp-gallery-viewer figcaption strong {
		font-size: 16px;
	}

	.pp-page .pp-gallery-viewer figcaption span {
		font-size: 13px;
	}

	.pp-page .ct-footer__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.pp-page .ct-footer__brand,
	.pp-page .ct-footer__contacts {
		grid-column: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pp-page .pp-button,
	.pp-page .pp-header__mobile,
	.pp-page .pp-header__toggle span,
	.pp-page .pp-header__nav a::after,
	.pp-page .pp-service-nav a::after,
	.pp-page .pp-quick-calc__total,
	.pp-page .pp-quick-calc__total button,
	.pp-page .pp-materials__preview,
	.pp-page .pp-materials__art img,
	.pp-page .pp-materials__shine,
	.pp-page .pp-materials__option,
	.pp-page .pp-pricing__tabs button,
	.pp-page .pp-pricing__table-card,
	.pp-page .pp-pricing__included button,
	.pp-page .pp-benefits__item,
	.pp-page .pp-gallery__item,
	.pp-page .pp-gallery__item img,
	.pp-page .pp-gallery__label,
	.pp-page .pp-gallery__visit > a,
	.pp-page .pp-process__number,
	.pp-page .pp-process__button b,
	.pp-page .pp-gallery-viewer figure > img,
	.pp-page .pp-gallery-viewer__close,
	.pp-page .pp-gallery-viewer__nav,
	.pp-page .ct-footer a,
	.pp-page .pp-capture__dialog {
		transition: none;
		animation: none;
	}
}

/* Final content sections */
.pp-page .content[hidden] {
	display: none !important;
}

.pp-page .pp-upload,
.pp-page .pp-about,
.pp-page .pp-faq,
.pp-page .pp-final-cta,
.pp-page .pp-upload *,
.pp-page .pp-about *,
.pp-page .pp-faq *,
.pp-page .pp-final-cta * {
	box-sizing: border-box;
}

.pp-page .pp-upload,
.pp-page .pp-about,
.pp-page .pp-faq,
.pp-page .pp-final-cta {
	font-family: "Montserrat", Arial, sans-serif;
}

.pp-page .pp-upload :where(h2, p, ul),
.pp-page .pp-about :where(h2, h3, p),
.pp-page .pp-faq :where(h2, p),
.pp-page .pp-final-cta :where(h2, p) {
	margin: 0;
	padding: 0;
}

.pp-page .pp-section-kicker {
	display: block;
	margin-bottom: 18px;
	color: #f45628;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.pp-page .pp-upload {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 90px 0;
	background: #202327;
	color: #fff;
}

.pp-page .pp-upload::before {
	position: absolute;
	inset: 0 52% 0 0;
	z-index: -1;
	background-image: radial-gradient(circle, rgba(244, 86, 40, .32) 1px, transparent 1px);
	background-position: 2px 2px;
	background-size: 26px 26px;
	content: "";
	mask-image: linear-gradient(90deg, #000, transparent 88%);
	opacity: .28;
}

.pp-page .pp-upload::after {
	position: absolute;
	top: -220px;
	right: -170px;
	z-index: -1;
	width: 680px;
	height: 680px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(244, 86, 40, .12), transparent 68%);
	content: "";
	pointer-events: none;
}

.pp-page .pp-upload__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 450px;
	align-items: center;
	gap: 92px;
}

.pp-page .pp-upload__copy {
	max-width: 640px;
}

.pp-page .pp-upload__copy h2 {
	max-width: 11ch;
	font-size: clamp(38px, 3.5vw, 56px);
	font-weight: 700;
	letter-spacing: -.045em;
	line-height: 1.04;
}

.pp-page .pp-upload__copy > p {
	max-width: 590px;
	margin-top: 24px;
	color: #b9bdc1;
	font-size: 15px;
	line-height: 1.75;
}

.pp-page .pp-upload__checklist {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 19px 34px;
	max-width: 620px;
	margin: 42px 0 0;
	padding: 0;
	list-style: none;
}

.pp-page .pp-upload__checklist li {
	position: relative;
	min-height: 22px;
	padding-left: 34px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.55;
}

.pp-page .pp-upload__checklist li::before {
	position: absolute;
	top: 0;
	left: 0;
	display: grid;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #f45628;
	box-shadow: 0 7px 18px rgba(244, 86, 40, .28);
	color: #fff;
	content: "✓";
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	place-items: center;
}

.pp-page .pp-upload-card {
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .22);
	color: #232529;
}

.pp-page .pp-upload-card__drop {
	display: flex;
	width: 100%;
	min-height: 210px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin: 0;
	padding: 24px;
	border: 1px dashed #d8d0c8;
	border-radius: 12px;
	background: #f6f3ef;
	color: #25282b;
	font-family: inherit;
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.pp-page .pp-upload-card__drop:hover,
.pp-page .pp-upload-card__drop:focus-visible {
	border-color: #f45628;
	background: #fff5f0;
	transform: translateY(-2px);
}

.pp-page .pp-upload-card__icon {
	display: grid;
	width: 58px;
	height: 58px;
	margin-bottom: 19px;
	border-radius: 50%;
	background: #ffede6;
	color: #f45628;
	place-items: center;
}

.pp-page .pp-upload-card__icon svg {
	width: 28px;
	height: 28px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6px;
}

.pp-page .pp-upload-card__drop strong {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
}

.pp-page .pp-upload-card__drop small {
	margin-top: 7px;
	color: #8c8f92;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.45;
}

.pp-page .pp-upload-card__button {
	width: 100%;
	min-height: 54px;
	margin: 15px 0 0;
	padding: 0 20px;
	border: 1px solid #f45628;
	border-radius: 7px;
	background: #f45628;
	box-shadow: 0 10px 24px rgba(244, 86, 40, .2);
	color: #fff;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.pp-page .pp-upload-card__button:hover,
.pp-page .pp-upload-card__button:focus-visible {
	border-color: #de451d;
	background: #de451d;
	transform: translateY(-1px);
}

.pp-page .pp-upload-card__email {
	padding: 19px 5px 2px;
}

.pp-page .pp-upload-card__email span,
.pp-page .pp-upload-card__email small {
	display: block;
	color: #929497;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.5;
}

.pp-page .pp-upload-card__email a {
	display: inline-block;
	margin: 5px 0;
	color: #2a2d30;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
}

.pp-page .pp-upload-card__email a:hover,
.pp-page .pp-upload-card__email a:focus-visible {
	color: #f45628;
}

.pp-page .pp-about {
	padding: 106px 0 112px;
	background: #fff;
	color: #24262a;
}

.pp-page .pp-about__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(420px, .82fr);
	align-items: start;
	gap: 105px;
}

.pp-page .pp-about__copy h2 {
	max-width: 13ch;
	font-size: clamp(37px, 3.15vw, 52px);
	font-weight: 700;
	letter-spacing: -.045em;
	line-height: 1.08;
}

.pp-page .pp-about__copy p {
	max-width: 690px;
	margin-top: 28px;
	color: #65696d;
	font-size: 14px;
	line-height: 1.85;
}

.pp-page .pp-related {
	padding: 31px 28px 27px;
	border-radius: 17px;
	background: #f5f2ee;
	box-shadow: inset 0 1px rgba(255, 255, 255, .8);
}

.pp-page .pp-related > h3 {
	margin: 0 0 20px;
	color: #9a9692;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.pp-page .pp-related__list {
	display: grid;
	gap: 9px;
}

.pp-page .pp-related details,
.pp-page .pp-faq details {
	border: 1px solid rgba(47, 42, 38, .08);
	border-radius: 9px;
	background: #fff;
	box-shadow: 0 7px 19px rgba(49, 40, 32, .04);
}

.pp-page .pp-related summary,
.pp-page .pp-faq summary {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	list-style: none;
	cursor: pointer;
}

.pp-page .pp-related summary::-webkit-details-marker,
.pp-page .pp-faq summary::-webkit-details-marker {
	display: none;
}

.pp-page .pp-related summary {
	min-height: 53px;
	padding: 12px 18px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
}

.pp-page .pp-related summary span,
.pp-page .pp-faq summary span {
	position: relative;
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
}

.pp-page .pp-related summary span::before,
.pp-page .pp-related summary span::after,
.pp-page .pp-faq summary span::before,
.pp-page .pp-faq summary span::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 1.5px;
	border-radius: 2px;
	background: #f45628;
	content: "";
	transform: translate(-50%, -50%);
	transition: transform .2s ease;
}

.pp-page .pp-related summary span::after,
.pp-page .pp-faq summary span::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.pp-page .pp-related details[open] summary span::after,
.pp-page .pp-faq details[open] summary span::after {
	transform: translate(-50%, -50%) rotate(0);
}

.pp-page .pp-related details > p {
	padding: 0 18px 16px;
	color: #74716e;
	font-size: 11px;
	line-height: 1.65;
}

.pp-page .pp-related details a,
.pp-page .pp-related details button {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: #e94a20;
	font: inherit;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.pp-page .pp-related__note {
	margin-top: 16px;
	color: #8f8b87;
	font-size: 10px;
	line-height: 1.55;
}

.pp-page .pp-faq {
	padding: 88px 0 98px;
	background: #f5f1ec;
	color: #24262a;
}

.pp-page .pp-faq h2 {
	margin-bottom: 40px;
	font-size: clamp(37px, 3vw, 50px);
	font-weight: 700;
	letter-spacing: -.045em;
	line-height: 1.08;
}

.pp-page .pp-faq__list {
	display: grid;
	gap: 11px;
}

.pp-page .pp-faq details {
	border-radius: 11px;
}

.pp-page .pp-faq summary {
	min-height: 66px;
	padding: 17px 25px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
}

.pp-page .pp-faq details > p {
	max-width: 980px;
	padding: 0 25px 24px;
	color: #6f7275;
	font-size: 12px;
	line-height: 1.7;
}

.pp-page .pp-final-cta {
	position: relative;
	overflow: hidden;
	padding: 62px 0;
	background: linear-gradient(118deg, #ff642f, #f0441c);
	color: #fff;
}

.pp-page .pp-final-cta::before {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 9% 0, rgba(255, 255, 255, .16), transparent 25%), radial-gradient(circle at 86% 120%, rgba(120, 20, 0, .15), transparent 30%);
	content: "";
	pointer-events: none;
}

.pp-page .pp-final-cta__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 430px;
	align-items: center;
	gap: 72px;
}

.pp-page .pp-final-cta__copy > span {
	display: block;
	margin-bottom: 14px;
	color: rgba(255, 255, 255, .72);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.3;
	text-transform: uppercase;
}

.pp-page .pp-final-cta__copy h2 {
	font-size: clamp(36px, 3vw, 50px);
	font-weight: 700;
	letter-spacing: -.045em;
	line-height: 1.08;
}

.pp-page .pp-final-cta__copy p {
	max-width: 620px;
	margin-top: 19px;
	color: rgba(255, 255, 255, .78);
	font-size: 12px;
	line-height: 1.65;
}

.pp-page .pp-final-cta__contacts {
	display: grid;
	gap: 11px;
}

.pp-page .pp-final-cta__contact {
	display: grid;
	min-height: 68px;
	align-content: center;
	padding: 12px 20px;
	border: 1px solid transparent;
	border-radius: 7px;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}

.pp-page .pp-final-cta__contact:hover,
.pp-page .pp-final-cta__contact:focus-visible {
	transform: translateY(-2px);
}

.pp-page .pp-final-cta__contact span {
	margin-bottom: 3px;
	font-size: 9px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
}

.pp-page .pp-final-cta__contact strong {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
}

.pp-page .pp-final-cta__contact--mail {
	border-color: rgba(255, 255, 255, .72);
	background: #fff;
	box-shadow: 0 12px 26px rgba(120, 25, 0, .14);
	color: #24262a;
}

.pp-page .pp-final-cta__contact--mail span {
	color: #99938e;
}

.pp-page .pp-final-cta__contact--phone {
	border-color: #222529;
	background: #222529;
	box-shadow: 0 12px 26px rgba(31, 24, 21, .18);
	color: #fff;
}

.pp-page .pp-final-cta__contact--phone span {
	color: #9da0a3;
}

@media (max-width: 1180px) {
	.pp-page .pp-upload__inner {
		grid-template-columns: minmax(0, 1fr) 400px;
		gap: 56px;
	}

	.pp-page .pp-about__inner {
		gap: 58px;
	}

	.pp-page .pp-final-cta__inner {
		grid-template-columns: minmax(0, 1fr) 380px;
		gap: 48px;
	}
}

@media (max-width: 900px) {
	.pp-page .pp-upload__inner,
	.pp-page .pp-about__inner {
		grid-template-columns: 1fr;
	}

	.pp-page .pp-upload__copy,
	.pp-page .pp-upload__copy > p {
		max-width: none;
	}

	.pp-page .pp-upload-card {
		width: min(100%, 620px);
	}

	.pp-page .pp-about__copy h2 {
		max-width: 15ch;
	}

	.pp-page .pp-related {
		width: min(100%, 650px);
	}

	.pp-page .pp-final-cta__inner {
		grid-template-columns: 1fr 330px;
	}
}

@media (max-width: 700px) {
	.pp-page .pp-section-kicker {
		margin-bottom: 14px;
		font-size: 9px;
	}

	.pp-page .pp-upload {
		padding: 64px 0;
	}

	.pp-page .pp-upload__inner {
		gap: 44px;
	}

	.pp-page .pp-upload__copy h2 {
		font-size: 38px;
	}

	.pp-page .pp-upload__copy > p {
		font-size: 13px;
	}

	.pp-page .pp-upload__checklist {
		grid-template-columns: 1fr;
		gap: 15px;
		margin-top: 34px;
	}

	.pp-page .pp-upload-card {
		padding: 16px;
		border-radius: 15px;
	}

	.pp-page .pp-upload-card__drop {
		min-height: 180px;
	}

	.pp-page .pp-about {
		padding: 68px 0 74px;
	}

	.pp-page .pp-about__inner {
		gap: 46px;
	}

	.pp-page .pp-about__copy h2 {
		font-size: 36px;
	}

	.pp-page .pp-about__copy p {
		margin-top: 22px;
		font-size: 13px;
	}

	.pp-page .pp-related {
		padding: 24px 18px 22px;
		border-radius: 14px;
	}

	.pp-page .pp-related summary {
		padding-inline: 14px;
	}

	.pp-page .pp-related details > p {
		padding-inline: 14px;
	}

	.pp-page .pp-faq {
		padding: 66px 0 72px;
	}

	.pp-page .pp-faq h2 {
		margin-bottom: 28px;
		font-size: 36px;
	}

	.pp-page .pp-faq summary {
		min-height: 60px;
		padding: 15px 17px;
		font-size: 12px;
	}

	.pp-page .pp-faq details > p {
		padding: 0 17px 19px;
		font-size: 11px;
	}

	.pp-page .pp-final-cta {
		padding: 54px 0;
	}

	.pp-page .pp-final-cta__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.pp-page .pp-final-cta__copy h2 {
		font-size: 37px;
	}

	.pp-page .pp-final-cta__contacts {
		width: min(100%, 430px);
	}
}

@media (max-width: 430px) {
	.pp-page .pp-upload__copy h2,
	.pp-page .pp-about__copy h2,
	.pp-page .pp-faq h2,
	.pp-page .pp-final-cta__copy h2 {
		font-size: 31px;
	}

	.pp-page .pp-upload-card__drop {
		min-height: 165px;
		padding: 18px 12px;
	}

	.pp-page .pp-upload-card__icon {
		width: 50px;
		height: 50px;
	}

	.pp-page .pp-final-cta__contact {
		min-height: 63px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pp-page .pp-upload-card__drop,
	.pp-page .pp-upload-card__button,
	.pp-page .pp-related summary span::after,
	.pp-page .pp-faq summary span::after,
	.pp-page .pp-final-cta__contact {
		transition: none;
	}
}

/* Footer copied from the current CopyTKKS homepage */
.pp-page .site-footer,
.pp-page .site-footer * {
	box-sizing: border-box;
}

.pp-page .site-footer {
	--footer-accent: #ff3b0a;
	position: relative;
	border-top: 1px solid rgba(75, 61, 52, .08);
	background: radial-gradient(circle at 88% 20%, rgba(255, 89, 28, .055), transparent 22%), #fbf9f7;
	color: #252525;
	font-family: "Montserrat", Arial, sans-serif;
}

.pp-page .site-footer :where(h2, p, ul) {
	margin: 0;
	padding: 0;
}

.pp-page .site-footer ul {
	list-style: none;
}

.pp-page .site-footer a {
	color: inherit;
	text-decoration: none;
}

.pp-page .site-footer__shell {
	width: calc(100% - clamp(32px, 2.5vw, 48px) * 2);
	margin-inline: auto;
}

.pp-page .site-footer__main {
	display: grid;
	grid-template-columns: minmax(214px, 1.25fr) repeat(4, minmax(118px, .72fr)) minmax(235px, 1.2fr);
	gap: clamp(24px, 2.55vw, 49px);
	padding-block: clamp(56px, 4.7vw, 90px) clamp(50px, 4.1vw, 78px);
}

.pp-page .site-footer__identity,
.pp-page .site-footer__group,
.pp-page .site-footer__contacts {
	min-width: 0;
}

.pp-page .site-footer__brand {
	display: block;
	width: clamp(180px, 12.1vw, 232px);
	color: #202326;
	line-height: 0;
}

.pp-page .site-footer__brand .brand-logo {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.pp-page .site-footer__brand .brand-logo__target-dot,
.pp-page .site-footer__brand .brand-logo__target-ring,
.pp-page .site-footer__brand .brand-logo__offset-back,
.pp-page .site-footer__brand .brand-logo__offset-front {
	transform-box: fill-box;
	transform-origin: 50%;
	transition: transform .26s cubic-bezier(.2, .75, .2, 1);
}

.pp-page .site-footer__brand:hover .brand-logo__target-dot {
	transform: scale(1.2);
}

.pp-page .site-footer__brand:hover .brand-logo__target-ring {
	transform: scale(1.08);
}

.pp-page .site-footer__identity > p {
	margin-top: clamp(23px, 1.7vw, 32px);
	color: #756f6a;
	font-size: clamp(10px, .69vw, 13px);
	line-height: 1.75;
}

.pp-page .site-footer__identity > strong {
	display: block;
	margin-top: 8px;
	color: #494542;
	font-size: clamp(9px, .64vw, 12px);
	font-weight: 600;
	line-height: 1.5;
}

.pp-page .site-footer__channels {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: clamp(27px, 2vw, 38px);
}

.pp-page .site-footer__channels a {
	position: relative;
	display: grid;
	width: clamp(34px, 2.25vw, 43px);
	aspect-ratio: 1;
	overflow: hidden;
	border: 1px solid rgba(74, 60, 52, .1);
	border-radius: 50%;
	background: rgba(255, 255, 255, .68);
	box-shadow: 0 6px 17px rgba(58, 45, 37, .045);
	color: #68635f;
	place-items: center;
	transition: color .19s ease, border-color .19s ease, background .19s ease, transform .19s ease;
}

.pp-page .site-footer__channels a::before {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: var(--footer-accent);
	content: "";
	transform: translateY(105%);
	transition: transform .23s cubic-bezier(.2, .75, .2, 1);
}

.pp-page .site-footer__channels a:hover,
.pp-page .site-footer__channels a:focus-visible {
	border-color: var(--footer-accent);
	color: #fff;
	transform: translateY(-3px);
}

.pp-page .site-footer__channels a:hover::before,
.pp-page .site-footer__channels a:focus-visible::before {
	transform: translateY(0);
}

.pp-page .site-footer__channels svg {
	position: relative;
	z-index: 1;
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6px;
}

.pp-page .site-footer__group h2,
.pp-page .site-footer__contacts h2 {
	margin: 7px 0 clamp(23px, 1.8vw, 34px);
	color: #2a2826;
	font-size: clamp(13px, .91vw, 17px);
	font-weight: 650;
	letter-spacing: -.025em;
	line-height: 1.25;
}

.pp-page .site-footer__group ul {
	display: grid;
	gap: clamp(13px, 1.1vw, 20px);
}

.pp-page .site-footer__group a {
	position: relative;
	display: inline-block;
	color: #77716d;
	font-size: clamp(9.5px, .67vw, 12.8px);
	font-weight: 500;
	line-height: 1.42;
	transition: color .17s ease, transform .17s ease;
}

.pp-page .site-footer__group a::after {
	position: absolute;
	right: 100%;
	bottom: 0;
	left: 0;
	height: 1px;
	background: var(--footer-accent);
	content: "";
	transition: right .2s ease;
}

.pp-page .site-footer__group a:hover,
.pp-page .site-footer__group a:focus-visible {
	color: #292725;
	transform: translateX(3px);
}

.pp-page .site-footer__group a:hover::after,
.pp-page .site-footer__group a:focus-visible::after {
	right: 0;
}

.pp-page .site-footer__contacts address {
	display: grid;
	margin: 0;
	font-style: normal;
}

.pp-page .site-footer__contacts address > a,
.pp-page .site-footer__hours {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	align-items: start;
	gap: 12px;
	padding-block: 13px;
	border-bottom: 1px solid rgba(76, 60, 50, .08);
	color: #514c48;
}

.pp-page .site-footer__contacts address > a:first-child {
	padding-top: 0;
}

.pp-page .site-footer__contacts address > a > span,
.pp-page .site-footer__hours > span {
	display: grid;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(255, 59, 10, .18);
	border-radius: 50%;
	background: rgba(255, 255, 255, .68);
	color: var(--footer-accent);
	place-items: center;
	transition: color .18s ease, background .18s ease, transform .18s ease;
}

.pp-page .site-footer__contacts svg {
	width: 15px;
	height: 15px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.55px;
}

.pp-page .site-footer__contacts address > a:hover > span,
.pp-page .site-footer__contacts address > a:focus-visible > span {
	background: var(--footer-accent);
	color: #fff;
	transform: translateY(-2px);
}

.pp-page .site-footer__contacts strong {
	display: block;
	overflow-wrap: anywhere;
	color: #393633;
	font-size: clamp(9.5px, .7vw, 13.2px);
	font-weight: 600;
	line-height: 1.45;
}

.pp-page .site-footer__contacts p {
	margin: 0;
}

.pp-page .site-footer__contacts small {
	display: block;
	margin-top: 4px;
	color: #8a837e;
	font-size: clamp(8px, .56vw, 10.5px);
	font-weight: 500;
	line-height: 1.5;
}

.pp-page .site-footer__hours {
	border-bottom: 0;
}

.pp-page .site-footer__bottom {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 26px;
	min-height: clamp(72px, 5.15vw, 99px);
	border-top: 1px solid rgba(75, 61, 52, .1);
	color: #88817c;
	font-size: clamp(8.5px, .62vw, 11.8px);
	font-weight: 500;
	line-height: 1.4;
}

.pp-page .site-footer__bottom nav {
	display: flex;
	align-items: center;
	gap: clamp(26px, 3.5vw, 67px);
}

.pp-page .site-footer__bottom a {
	transition: color .17s ease;
}

.pp-page .site-footer__bottom a:hover,
.pp-page .site-footer__bottom a:focus-visible {
	color: var(--footer-accent);
}

.pp-page .site-footer__made {
	justify-self: end;
}

.pp-page .site-footer__made span {
	display: inline-block;
	color: var(--footer-accent);
	animation: pp-footer-heart 1.9s ease-in-out infinite;
}

@keyframes pp-footer-heart {
	0%, 100% { transform: scale(1); }
	20% { transform: scale(1.18); }
	38% { transform: scale(1); }
}

@media (max-width: 1500px) {
	.pp-page .site-footer__main {
		grid-template-columns: minmax(200px, 1.2fr) repeat(4, minmax(112px, .68fr)) minmax(210px, 1.1fr);
		gap: clamp(18px, 1.7vw, 28px);
	}
}

@media (max-width: 1180px) {
	.pp-page .site-footer__main {
		grid-template-columns: 1.35fr repeat(3, 1fr);
		row-gap: 48px;
	}

	.pp-page .site-footer__identity {
		grid-row: span 2;
	}

	.pp-page .site-footer__contacts {
		grid-column: span 2;
	}
}

@media (max-width: 860px) {
	.pp-page .site-footer__shell {
		width: calc(100% - clamp(24px, 4.1vw, 42px) * 2);
	}

	.pp-page .site-footer__main {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pp-page .site-footer__identity {
		grid-area: auto / 1 / auto / -1;
	}

	.pp-page .site-footer__identity > p {
		display: inline-block;
		margin-right: 18px;
	}

	.pp-page .site-footer__identity > strong {
		display: inline-block;
	}

	.pp-page .site-footer__channels {
		margin-top: 20px;
	}

	.pp-page .site-footer__contacts {
		grid-column: span 2;
	}

	.pp-page .site-footer__bottom {
		grid-template-columns: 1fr auto;
		padding-block: 18px;
	}

	.pp-page .site-footer__bottom nav {
		grid-area: 1 / 1 / auto / -1;
		justify-content: space-between;
	}
}

@media (max-width: 650px) {
	.pp-page .site-footer__shell {
		width: calc(100% - 36px);
	}

	.pp-page .site-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 42px 24px;
		padding-block: 52px;
	}

	.pp-page .site-footer__identity,
	.pp-page .site-footer__contacts {
		grid-column: 1 / -1;
	}

	.pp-page .site-footer__identity > p,
	.pp-page .site-footer__identity > strong {
		display: block;
	}

	.pp-page .site-footer__identity > p {
		margin-right: 0;
	}

	.pp-page .site-footer__group h2,
	.pp-page .site-footer__contacts h2 {
		font-size: 14px;
	}

	.pp-page .site-footer__group a {
		font-size: 10px;
	}

	.pp-page .site-footer__bottom {
		display: flex;
		min-height: 0;
		align-items: flex-start;
		flex-direction: column;
		gap: 17px;
		padding-block: 25px 30px;
	}

	.pp-page .site-footer__bottom nav {
		display: grid;
		gap: 10px;
	}

	.pp-page .site-footer__made {
		align-self: flex-start;
	}
}

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

	.pp-page .site-footer__identity,
	.pp-page .site-footer__contacts {
		grid-column: auto;
	}

	.pp-page .site-footer__group {
		padding-bottom: 24px;
		border-bottom: 1px solid rgba(75, 61, 52, .08);
	}
}

@media (prefers-reduced-motion: reduce) {
	.pp-page .site-footer__made span {
		animation: none !important;
	}
}
