@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
	--ink: #20252d;
	--muted: #69717e;
	--line: #e6e9ee;
	--paper: #fff;
	--soft: #f6f8fa;
	--accent: #f4c400;
	--accent-dark: #d7ac00;
	--radius: 18px;
	--shadow: 0 12px 35px rgba(24,32,44,.06);
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: 'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
	font-size: 16px;
	line-height: 1.7;
}

.container {
	width: min(1160px,calc(100% - 40px));
	margin: 0 auto;
}

.site-header {
	border-bottom: 1px solid var(--line);
	background: rgba(255,255,255,.96);
}

.header-inner {
	min-height: 86px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

.logo {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: var(--ink);
}

.logo-mark {
	display: grid;
	place-items: center;
	width: 56px;
	height: 46px;
	border-radius: 12px;
	background: var(--accent);
	font-size: 23px;
	font-weight: 900;
	letter-spacing: -1px;
}

.logo-caption {
	font-weight: 700;
	font-size: 14px;
}

.main-nav {
	display: flex;
	align-items: center;
	gap: 26px;
	flex-wrap: wrap;
}

.main-nav a {
	color: var(--ink);
	text-decoration: none;
	font-size: 14px;
	font-weight: 650;
}

.main-nav a:hover,.breadcrumbs a:hover {
	color: #8a7000;
}

.main-content {
	min-height: calc(100vh - 170px);
	padding-top: 36px;
	padding-bottom: 88px;
}

.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	color: var(--muted);
	font-size: 13px;
	margin-bottom: 38px;
}

.breadcrumbs a {
	color: var(--muted);
	text-decoration: none;
}

.crumb-separator {
	color: #aeb4bd;
}

.page-heading {
	max-width: 850px;
	margin-bottom: 36px;
}

.eyebrow,.card-kicker {
	font-size: 11px;
	letter-spacing: .16em;
	font-weight: 800;
	color: #7a6a18;
}

.eyebrow {
	margin: 0 0 12px;
}

h1 {
	font-size: clamp(34px,5vw,58px);
	line-height: 1.12;
	letter-spacing: -.04em;
	margin: 0 0 18px;
	font-weight: 800;
}

h2 {
	font-size: clamp(24px,3vw,34px);
	line-height: 1.2;
	letter-spacing: -.025em;
	margin: 0 0 22px;
}

.lead {
	color: var(--muted);
	font-size: 19px;
	margin: 0;
}

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

.page-card {
	position: relative;
	min-height: 180px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	padding: 25px;
	background: var(--soft);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	text-decoration: none;
	color: var(--ink);
	transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.page-card:hover {
	transform: translateY(-3px);
	border-color: #e3c63e;
	box-shadow: var(--shadow);
}

.page-card strong {
	font-size: 22px;
	line-height: 1.25;
	letter-spacing: -.02em;
	max-width: 90%;
}

.card-arrow {
	position: absolute;
	right: 23px;
	bottom: 20px;
	font-size: 22px;
	color: #7e6b00;
}

.page-content {
	font-size: 17px;
	line-height: 1.8;
	max-width: 900px;
	overflow-wrap: anywhere;
}

.page-content h2,.page-content h3,.page-content h4 {
	line-height: 1.25;
	margin-top: 1.6em;
	margin-bottom: .65em;
}

.page-content p {
	margin: 0 0 1.2em;
}

.page-content img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
}

.page-content a {
	color: #6f5900;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.page-content ul,.page-content ol {
	padding-left: 1.5em;
}

.page-content table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
}

.page-content th,.page-content td {
	border: 1px solid var(--line);
	padding: 10px 13px;
}

.page-content blockquote {
	margin: 24px 0;
	padding: 8px 22px;
	border-left: 4px solid var(--accent);
	background: var(--soft);
}

.child-pages {
	margin-top: 64px;
	padding-top: 36px;
	border-top: 1px solid var(--line);
}

.empty-state {
	padding: 36px;
	border: 1px solid var(--line);
	background: var(--soft);
	border-radius: var(--radius);
	color: var(--muted);
}

.empty-code {
	font-size: 54px;
	font-weight: 900;
	line-height: 1;
	color: var(--accent-dark);
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 12px;
	padding: 11px 18px;
	border-radius: 10px;
	background: var(--accent);
	color: var(--ink);
	text-decoration: none;
	font-weight: 750;
}

.button:hover {
	background: #ffda2f;
}

.site-footer {
	border-top: 1px solid var(--line);
	background: #fbfbfc;
}

.footer-inner {
	min-height: 82px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	color: var(--muted);
	font-size: 13px;
}

@media(max-width:850px) {
	.header-inner {
		align-items: flex-start;
		flex-direction: column;
		padding: 18px 0;
	}

	.main-nav {
		gap: 14px;
	}

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

	.main-content {
		padding-top: 28px;
	}
}

@media(max-width:560px) {
	.container {
		width: calc(100% - 28px);
	}

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

	.page-card {
		min-height: 145px;
	}

	.main-nav {
		gap: 8px 14px;
	}

	.main-nav a {
		font-size: 13px;
	}

	.footer-inner {
		padding: 18px 0;
		align-items: flex-start;
		flex-direction: column;
		gap: 3px;
	}

	.breadcrumbs {
		margin-bottom: 25px;
	}

	.page-content {
		font-size: 16px;
	}
}
/* Дополнительная оболочка главной страницы */
.home-hero {
	position: relative;
}

.home-hero .page-heading {
	padding: clamp(24px,5vw,56px);
	border-radius: 24px;
	background: linear-gradient(125deg,#fff9d9 0%,#fff 66%);
	border: 1px solid #f1e7b4;
	max-width: none;
}

.home-hero .page-heading h1 {
	max-width: 850px;
}

.home-hero .page-grid {
	margin-top: 26px;
}

.page-cover {
	display: block;
	width: 100%;
	max-height: 430px;
	object-fit: cover;
	border-radius: 18px;
	margin-top: 24px;
	border: 1px solid var(--line);
}

.page-card-cover {
	display: block;
	width: calc(100% + 50px);
	max-width: none;
	height: 145px;
	object-fit: cover;
	margin: -25px -25px 2px;
	border-radius: var(--radius) var(--radius) 0 0;
}

.page-card:has(.page-card-cover) {
	padding-top: 25px;
	overflow: hidden;
}

.page-card:has(.page-card-cover) strong {
	max-width: 100%;
}

/* NC9 frontend refresh — editorial layout, bright background and yellow accents */
:root {
	--ink: #20242a;
	--muted: #6f747b;
	--line: #e7e7e4;
	--paper: #fff;
	--soft: #f6f6f3;
	--accent: #f5ca00;
	--accent-dark: #d4ad00;
	--radius: 20px;
	--shadow: 0 18px 48px rgba(25,27,31,.08);
}

body {
	overflow-x: hidden;
	color: var(--ink);
}

a {
	transition: color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease;
}

.container {
	width: min(1220px,calc(100% - 56px));
}

.topline {
	background: #20242a;
	color: #d8d9da;
	font-size: 11px;
	letter-spacing: .025em;
}

.topline-inner {
	display: flex;
	align-items: center;
	gap: 25px;
	min-height: 35px;
}

.topline-inner a {
	margin-left: auto;
	color: #fff;
	text-decoration: none;
}

.status-dot,.label-dot {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--accent);
	margin-right: 8px;
	vertical-align: middle;
}

.site-header {
	position: relative;
	z-index: 20;
	background: #fff;
	border-bottom: 1px solid #efefec;
}

.header-inner {
	min-height: 88px;
	gap: 24px;
}

.logo {
	gap: 11px;
	flex-shrink: 0;
}

.logo-mark {
	width: 58px;
	height: 48px;
	border-radius: 2px;
	background: var(--accent);
	font-size: 26px;
	letter-spacing: -2px;
	color: #17191c;
}

.logo-mark span,.mini-logo span,.bc-front>span span {
	color: #fff;
}

.logo-caption {
	font-size: 11px;
	letter-spacing: .12em;
	line-height: 1.4;
	font-weight: 850;
}

.logo-caption small {
	font-size: 8px;
	letter-spacing: .13em;
	color: #85878b;
}

.main-nav {
	gap: clamp(14px,2vw,28px);
	margin-left: auto;
}

.main-nav a {
	font-size: 12px;
	font-weight: 700;
	color: #33373c;
	position: relative;
}

.main-nav a:after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: -7px;
	height: 2px;
	background: var(--accent);
	transition: right .2s;
}

.main-nav a:hover:after {
	right: 0;
}

.header-phone {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: var(--ink);
	white-space: nowrap;
}

.header-phone strong {
	display: block;
	font-size: 13px;
}

.header-phone small {
	display: block;
	color: var(--muted);
	font-size: 10px;
	margin-top: 2px;
}

.phone-icon {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	background: var(--accent);
	border-radius: 50%;
	font-size: 18px;
	font-weight: 800;
}

.mobile-menu-toggle {
	display: none;
}

.main-content {
	min-height: 0;
	padding: 0 0 0;
}

.home-page {
	overflow: hidden;
}

.hero-intro {
	min-height: 535px;
	display: grid;
	grid-template-columns: 1fr .95fr;
	align-items: center;
	gap: 28px;
	padding-top: 66px;
	padding-bottom: 66px;
}

.hero-copy {
	position: relative;
	z-index: 2;
	max-width: 610px;
}

.eyebrow {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 10px;
	letter-spacing: .17em;
	font-weight: 850;
	color: #6f7174;
	margin: 0 0 20px;
}

.eyebrow-line {
	display: inline-block;
	width: 25px;
	height: 3px;
	background: var(--accent);
	flex-shrink: 0;
}

.hero-copy h1 {
	font-size: clamp(43px,5.1vw,72px);
	line-height: .99;
	letter-spacing: -.065em;
	font-weight: 850;
	margin: 0 0 25px;
}

.hero-copy h1 span {
	position: relative;
	white-space: nowrap;
}

.hero-copy h1 span:after {
	content: "";
	position: absolute;
	left: 0;
	right: -3px;
	bottom: 2px;
	height: 10px;
	background: var(--accent);
	z-index: -1;
	opacity: .8;
}

.hero-lead {
	font-size: 16px;
	line-height: 1.75;
	color: #696d72;
	max-width: 485px;
	margin: 0;
}

.hero-actions {
	display: flex;
	align-items: center;
	gap: 11px;
	flex-wrap: wrap;
	margin-top: 29px;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	margin: 0;
	padding: 14px 19px;
	border-radius: 2px;
	font-size: 12px;
	font-weight: 800;
	transition: transform .18s,background .18s;
}

.button span {
	font-size: 17px;
	line-height: 1;
}

.button-primary {
	background: var(--accent);
	color: #202124;
}

.button-primary:hover {
	background: #ffda25;
	transform: translateY(-2px);
}

.button-secondary {
	background: #fff;
	border: 1px solid #d9dadd;
	color: var(--ink);
}

.button-secondary:hover {
	border-color: #20242a;
	transform: translateY(-2px);
}

.hero-proof {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 29px;
	font-size: 11px;
	color: #767a80;
}

.proof-mark {
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #f2f3ef;
	color: #343830;
	font-size: 12px;
	font-weight: 900;
}

.hero-art {
	position: relative;
	min-height: 400px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f4f4f0;
	overflow: hidden;
}

.hero-art:before {
	content: "";
	position: absolute;
	width: 340px;
	height: 340px;
	border-radius: 50%;
	background: var(--accent);
	right: 5%;
	top: 9%;
	opacity: .92;
}

.hero-art:after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 20% 85%,rgba(255,255,255,.8),transparent 36%);
	pointer-events: none;
}

.art-orbit {
	position: absolute;
	border: 1px solid rgba(34,36,39,.13);
	border-radius: 50%;
	z-index: 1;
}

.orbit-one {
	width: 390px;
	height: 390px;
}

.orbit-two {
	width: 460px;
	height: 460px;
}

.print-card {
	position: absolute;
	width: 245px;
	height: 155px;
	box-shadow: 0 25px 45px rgba(20,22,25,.18);
	z-index: 2;
}

.print-card-back {
	background: #26292d;
	transform: translate(-35px,-23px) rotate(-12deg);
	padding: 22px;
	color: #fff;
}

.mini-logo {
	font-size: 28px;
	letter-spacing: -2px;
	font-weight: 900;
}

.mini-logo span {
	color: var(--accent);
}

.print-lines {
	display: block;
	width: 76px;
	height: 3px;
	background: #f5f5f2;
	margin-top: 45px;
}

.print-lines.short {
	width: 44px;
	margin-top: 7px;
	opacity: .45;
}

.print-card-front {
	background: #fff;
	transform: translate(30px,18px) rotate(8deg);
	padding: 20px;
	overflow: hidden;
}

.print-yellow {
	position: absolute;
	right: -22px;
	top: -36px;
	width: 110px;
	height: 225px;
	background: var(--accent);
	transform: rotate(26deg);
}

.print-number {
	position: absolute;
	right: 22px;
	top: 17px;
	font-size: 70px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -.08em;
}

.print-caption {
	position: absolute;
	left: 20px;
	bottom: 21px;
	font-size: 14px;
	line-height: 1.05;
	font-weight: 900;
	letter-spacing: .02em;
}

.mini-logo.dark {
	position: absolute;
	right: 18px;
	bottom: 16px;
	font-size: 17px;
	color: #20242a;
}

.mini-logo.dark span {
	color: #c5a300;
}

.art-label {
	position: absolute;
	z-index: 3;
	font-size: 8px;
	font-weight: 850;
	letter-spacing: .15em;
}

.label-top {
	top: 28px;
	left: 26px;
}

.label-bottom {
	bottom: 25px;
	left: 26px;
}

.art-sticker {
	position: absolute;
	z-index: 4;
	right: 23px;
	bottom: 48px;
	display: grid;
	place-items: center;
	width: 83px;
	height: 83px;
	background: #fff;
	border-radius: 50%;
	text-align: center;
	font-size: 10px;
	font-weight: 900;
	line-height: 1.1;
	transform: rotate(9deg);
	box-shadow: 0 10px 25px #00000012;
}

.slider-section {
	padding-top: 5px;
	padding-bottom: 70px;
}

.slider-section .nc9-slider {
	max-width: none;
	border-radius: 3px;
	box-shadow: 0 12px 36px rgba(20,24,30,.08);
}

.slider-section .nc9-slide-caption {
	padding: clamp(18px,4vw,44px);
	background: linear-gradient(0deg,rgba(0,0,0,.75),transparent 90%);
}

.slider-section .nc9-slide-caption h2 {
	font-size: clamp(22px,3vw,38px);
	max-width: 700px;
}

.slider-section .nc9-slide-caption p {
	font-size: 14px;
}

.slider-section .nc9-slider-prev,.slider-section .nc9-slider-next {
	width: 44px;
	height: 44px;
	background: rgba(255,255,255,.9);
	color: #20242a;
	font-size: 28px;
}

.slider-section .nc9-slider-dots {
	right: 30px;
	bottom: 23px;
}

.slider-section .nc9-slider-dots button {
	width: 8px;
	height: 8px;
	background: #ffffff7a;
}

.slider-section .nc9-slider-dots button.is-active {
	background: var(--accent);
	width: 22px;
	border-radius: 5px;
}

.services-section {
	padding-top: 30px;
	padding-bottom: 100px;
}

.section-heading {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	margin-bottom: 33px;
}

.section-heading h2,.process-intro h2,.why-heading h2,.contact-cta h2 {
	font-size: clamp(32px,4vw,48px);
	letter-spacing: -.055em;
	line-height: 1.04;
	margin: 0;
	font-weight: 850;
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 24px;
	padding: 10px 0;
	border-bottom: 1px solid #bfc0bd;
	color: var(--ink);
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}

.text-link span {
	font-size: 17px;
}

.text-link:hover {
	border-color: #c4a000;
}

.service-grid {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 14px;
}

.service-card {
	position: relative;
	min-height: 385px;
	padding: 23px 24px 27px;
	background: #f5f5f2;
	border: 1px solid #efefeb;
	text-decoration: none;
	color: var(--ink);
	overflow: hidden;
	transition: transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.service-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
	border-color: #e6d46b;
}

.service-card-featured {
	background: #f8f2d9;
}

.service-number {
	font-size: 9px;
	font-weight: 850;
	letter-spacing: .12em;
	color: #74777a;
}

.service-visual {
	position: relative;
	height: 175px;
	margin: 10px -2px 16px;
	overflow: hidden;
}

.business-cards {
	background: radial-gradient(circle at 75% 25%,#f9dc54,transparent 35%);
}

.bc {
	position: absolute;
	width: 190px;
	height: 116px;
	box-shadow: 0 12px 22px #1112;
}

.bc-back {
	top: 20px;
	left: 24px;
	background: #25292d;
	transform: rotate(-9deg);
}

.bc-front {
	top: 42px;
	left: 74px;
	background: #fff;
	transform: rotate(8deg);
	padding: 16px;
}

.bc-front>span {
	font-weight: 900;
	font-size: 21px;
	letter-spacing: -2px;
}

.bc-front>span span {
	color: #d4ad00;
}

.bc-front i {
	display: block;
	font-size: 8px;
	font-style: normal;
	font-weight: 800;
	line-height: 1.25;
	margin-top: 24px;
}

.flyers-visual {
	background: #ebebe7;
}

.flyer {
	position: absolute;
	width: 132px;
	height: 164px;
	box-shadow: 0 10px 25px #0002;
	padding: 16px;
	font-weight: 900;
}

.flyer-yellow {
	background: var(--accent);
	left: 31px;
	top: 9px;
	transform: rotate(-9deg);
	font-size: 25px;
	line-height: .95;
}

.flyer-white {
	background: #fff;
	left: 105px;
	top: 13px;
	transform: rotate(8deg);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.flyer-white b {
	font-size: 20px;
	line-height: .95;
}

.flyer-white span {
	font-size: 7px;
	letter-spacing: .1em;
}

.catalog-visual {
	background: #e6e7e2;
	perspective: 500px;
}

.catalog-sheet {
	position: absolute;
	left: 76px;
	top: 4px;
	width: 140px;
	height: 169px;
	background: #26292d;
	color: #fff;
	box-shadow: 0 12px 24px #0002;
	padding: 12px;
	transform: rotate(5deg);
}

.catalog-tag {
	font-size: 7px;
	letter-spacing: .12em;
	color: var(--accent);
}

.catalog-shape {
	position: absolute;
	right: 0;
	top: 29px;
	width: 82px;
	height: 70px;
	background: var(--accent);
	border-radius: 60% 0 0 60%;
}

.catalog-sheet b {
	position: absolute;
	left: 13px;
	bottom: 14px;
	font-size: 16px;
	line-height: .98;
	letter-spacing: -.04em;
}

.banner-visual {
	background: #e5e5e1;
}

.banner-sample {
	position: absolute;
	inset: 22px 16px;
	background: #25282c;
	color: #fff;
	padding: 17px;
	overflow: hidden;
}

.banner-sample span {
	position: relative;
	z-index: 1;
	font-size: 29px;
	font-weight: 900;
	line-height: .92;
	letter-spacing: -.06em;
}

.banner-sample i {
	position: absolute;
	right: 10px;
	top: -26px;
	width: 100px;
	height: 190px;
	background: var(--accent);
	transform: rotate(25deg);
}

.banner-sample b {
	position: absolute;
	left: 17px;
	bottom: 12px;
	font-size: 8px;
	letter-spacing: .13em;
}

.calendar-visual {
	background: #e8e7e1;
}

.calendar-sheet {
	position: absolute;
	top: 8px;
	left: 73px;
	width: 130px;
	height: 137px;
	background: #fff;
	box-shadow: 0 10px 22px #0002;
	padding: 12px;
	transform: rotate(-5deg);
}

.calendar-sheet>span {
	font-size: 8px;
	letter-spacing: .14em;
	font-weight: 800;
}

.calendar-sheet>b {
	display: block;
	font-size: 70px;
	line-height: 1.1;
	letter-spacing: -.08em;
}

.calendar-sheet i {
	display: inline-block;
	width: 12px;
	height: 12px;
	background: #e5e5e1;
	margin-right: 6px;
}

.calendar-sheet i:first-of-type {
	background: var(--accent);
}

.calendar-base {
	position: absolute;
	left: 62px;
	top: 145px;
	width: 155px;
	height: 18px;
	background: #c7c6c0;
	transform: skewX(-24deg);
}

.service-card h3 {
	font-size: 20px;
	letter-spacing: -.035em;
	margin: 0 0 8px;
}

.service-card p {
	max-width: 320px;
	margin: 0;
	color: #70747a;
	font-size: 12px;
	line-height: 1.7;
}

.service-arrow {
	position: absolute;
	right: 24px;
	bottom: 24px;
	font-size: 21px;
	transition: transform .2s;
}

.service-card:hover .service-arrow {
	transform: translate(3px,-3px);
}

.service-card-dark {
	background: #25292d;
	border-color: #25292d;
	color: #fff;
}

.service-card-dark .service-number,.service-card-dark p {
	color: #c0c2c3;
}

.custom-project {
	height: 175px;
	display: flex;
	align-items: center;
	gap: 22px;
	color: #fff;
	font-size: 27px;
	line-height: 1.05;
	letter-spacing: -.04em;
	font-weight: 800;
}

.custom-plus {
	display: grid;
	place-items: center;
	width: 74px;
	height: 74px;
	border: 1px solid #ffffff54;
	border-radius: 50%;
	color: var(--accent);
	font-size: 48px;
	font-weight: 300;
}

.service-card-dark .service-arrow {
	color: var(--accent);
}

.process-section {
	background: #f5f5f1;
	padding: 83px 0 88px;
}

.process-inner {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	gap: clamp(40px,8vw,120px);
}

.process-intro>p:not(.eyebrow) {
	max-width: 350px;
	color: #72767a;
	font-size: 13px;
	line-height: 1.8;
	margin: 22px 0 25px;
}

.process-intro .button {
	margin-top: 2px;
}

.process-steps {
	border-top: 1px solid #dcded9;
}

.process-step {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 17px;
	padding: 22px 0;
	border-bottom: 1px solid #dcded9;
}

.process-step>span {
	font-size: 11px;
	font-weight: 900;
	color: #a38b00;
	padding-top: 5px;
}

.process-step h3 {
	font-size: 17px;
	letter-spacing: -.025em;
	margin: 0 0 5px;
}

.process-step p {
	font-size: 12px;
	color: #74777b;
	margin: 0;
	line-height: 1.65;
}

.why-section {
	padding-top: 92px;
	padding-bottom: 100px;
}

.why-heading {
	margin-bottom: 39px;
}

.why-heading h2 {
	max-width: 800px;
}

.why-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 36px;
}

.why-grid>div {
	border-top: 1px solid #dfe0dc;
	padding-top: 20px;
}

.why-icon {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	background: #f6d72d;
	border-radius: 50%;
	font-size: 18px;
	margin-bottom: 17px;
}

.why-grid h3 {
	font-size: 16px;
	margin: 0 0 8px;
	letter-spacing: -.02em;
}

.why-grid p {
	font-size: 12px;
	color: #74777b;
	line-height: 1.75;
	margin: 0;
	max-width: 300px;
}

.contact-cta {
	background: var(--accent);
	position: relative;
	overflow: hidden;
}

.contact-cta-inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 45px;
	min-height: 300px;
	padding-top: 50px;
	padding-bottom: 50px;
}

.contact-cta .eyebrow {
	color: #4f4b34;
}

.contact-cta .eyebrow-line {
	background: #20242a;
}

.contact-cta h2 {
	position: relative;
	z-index: 1;
}

.contact-cta-inner>div:first-child>p:last-child {
	font-size: 13px;
	color: #5e583c;
	margin: 18px 0 0;
}

.cta-actions {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 13px;
	min-width: 250px;
}

.cta-phone {
	font-size: 23px;
	font-weight: 850;
	letter-spacing: -.04em;
	color: #20242a;
	text-decoration: none;
	white-space: nowrap;
}

.cta-phone span {
	font-size: 18px;
	margin-left: 8px;
}

.button-dark {
	background: #20242a;
	color: #fff;
}

.button-dark:hover {
	background: #393d42;
	transform: translateY(-2px);
}

.cta-note {
	font-size: 10px;
	color: #5c563d;
}

.cta-orb {
	position: absolute;
	width: 290px;
	height: 290px;
	border: 1px solid #1f24252b;
	border-radius: 50%;
	right: 22%;
	top: -100px;
	pointer-events: none;
}

.cta-orb:after {
	content: "";
	position: absolute;
	inset: 24px;
	border: 1px solid #1f24251c;
	border-radius: 50%;
}

.cms-pages {
	padding-top: 80px;
	padding-bottom: 85px;
}

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

.inner-page-wrap {
	width: min(1220px,calc(100% - 56px));
	margin: 0 auto;
	padding-top: 36px;
	padding-bottom: 88px;
}

.page-heading {
	max-width: none;
	margin-bottom: 36px;
}

.page-heading h1 {
	max-width: 900px;
}

.page-content {
	max-width: 920px;
}

.site-footer {
	background: #20242a;
	color: #fff;
	border: 0;
}

.footer-top {
	display: grid;
	grid-template-columns: 1.25fr .75fr 1fr;
	gap: 65px;
	padding-top: 54px;
	padding-bottom: 48px;
}

.footer-brand .logo {
	color: #fff;
}

.footer-brand .logo-caption small {
	color: #a8aaad;
}

.footer-brand p {
	max-width: 310px;
	color: #b8bbbe;
	font-size: 12px;
	line-height: 1.8;
	margin: 20px 0 0;
}

.footer-column {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 11px;
	font-size: 11px;
	color: #b9bbbf;
}

.footer-column strong {
	font-size: 12px;
	color: #fff;
	margin-bottom: 5px;
}

.footer-column a {
	color: #b9bbbf;
	text-decoration: none;
}

.footer-column a:hover {
	color: var(--accent);
}

.footer-bottom {
	min-height: 60px;
	border-top: 1px solid #ffffff20;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	color: #aeb1b5;
	font-size: 10px;
}

.footer-bottom a {
	color: var(--accent);
	text-decoration: none;
}

.page-card {
	border-radius: 2px;
}

.page-card:hover {
	border-color: #e5c600;
}

.empty-state {
	border-radius: 2px;
}

.button:focus-visible,.main-nav a:focus-visible,.header-phone:focus-visible {
	outline: 3px solid #d5b000;
	outline-offset: 4px;
}

@media(max-width:1000px) {
	.header-inner {
		gap: 18px;
	}

	.main-nav {
		gap: 13px;
	}

	.main-nav a {
		font-size: 11px;
	}

	.header-phone strong {
		font-size: 11px;
	}

	.hero-intro {
		grid-template-columns: 1fr .8fr;
		gap: 18px;
	}

	.hero-copy h1 {
		font-size: clamp(42px,5.3vw,60px);
	}

	.hero-art {
		min-height: 350px;
	}

	.hero-art:before {
		width: 280px;
		height: 280px;
	}

	.orbit-one {
		width: 330px;
		height: 330px;
	}

	.orbit-two {
		width: 390px;
		height: 390px;
	}

	.print-card {
		transform-origin: center;
	}

	.print-card-back {
		transform: translate(-22px,-20px) rotate(-12deg);
	}

	.print-card-front {
		transform: translate(25px,15px) rotate(8deg);
	}

	.service-card {
		padding-left: 18px;
		padding-right: 18px;
	}

	.service-card h3 {
		font-size: 18px;
	}

	.footer-top {
		gap: 35px;
	}
}

@media(max-width:760px) {
	.container,.inner-page-wrap {
		width: calc(100% - 36px);
	}

	.topline-inner {
		gap: 12px;
		min-height: 32px;
		font-size: 9px;
	}

	.topline-hours {
		display: none;
	}

	.header-inner {
		min-height: 75px;
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: center;
		padding: 12px 0;
	}

	.logo-mark {
		width: 50px;
		height: 42px;
		font-size: 23px;
	}

	.logo-caption {
		font-size: 10px;
	}

	.header-phone {
		grid-column: 1;
		grid-row: 2;
		margin-top: 7px;
	}

	.header-phone .phone-icon {
		width: 28px;
		height: 28px;
		font-size: 14px;
	}

	.header-phone strong {
		font-size: 12px;
	}

	.header-phone small {
		font-size: 9px;
	}

	.mobile-menu-toggle {
		display: flex;
		grid-column: 2;
		grid-row: 1;
		align-items: center;
		gap: 10px;
		border: 1px solid #deded9;
		background: #fff;
		padding: 10px 12px;
		font-size: 11px;
		font-weight: 800;
	}

	.mobile-menu-toggle span {
		font-size: 17px;
	}

	.main-nav {
		display: none;
		grid-column: 1/-1;
		grid-row: 3;
		align-items: stretch;
		flex-direction: column;
		gap: 0;
		margin: 12px 0 0;
		padding-top: 6px;
		border-top: 1px solid var(--line);
	}

	.main-nav.is-open {
		display: flex;
	}

	.main-nav a {
		padding: 12px 2px;
		border-bottom: 1px solid #f0f0ed;
		font-size: 13px;
	}

	.main-nav a:after {
		display: none;
	}

	.hero-intro {
		grid-template-columns: 1fr;
		padding-top: 44px;
		padding-bottom: 30px;
		gap: 28px;
	}

	.hero-copy h1 {
		font-size: clamp(43px,10vw,65px);
	}

	.hero-lead {
		font-size: 14px;
	}

	.hero-art {
		min-height: 320px;
	}

	.hero-art:before {
		width: 260px;
		height: 260px;
		right: 15%;
		top: 8%;
	}

	.orbit-one {
		width: 300px;
		height: 300px;
	}

	.orbit-two {
		width: 360px;
		height: 360px;
	}

	.print-card {
		scale: .9;
	}

	.art-sticker {
		right: 8%;
		bottom: 35px;
	}

	.slider-section {
		padding-top: 20px;
		padding-bottom: 45px;
	}

	.slider-section .nc9-slider {
		aspect-ratio: 1.35!important;
	}

	.slider-section .nc9-slide-caption {
		padding: 15px 16px 32px;
	}

	.slider-section .nc9-slide-caption h2 {
		font-size: 22px;
		margin-bottom: 5px;
	}

	.slider-section .nc9-slide-caption p {
		font-size: 11px;
		line-height: 1.45;
	}

	.slider-section .nc9-slider-prev,.slider-section .nc9-slider-next {
		width: 32px;
		height: 32px;
		font-size: 22px;
	}

	.slider-section .nc9-slider-prev {
		left: 8px;
	}

	.slider-section .nc9-slider-next {
		right: 8px;
	}

	.slider-section .nc9-slider-dots {
		right: 15px;
		bottom: 12px;
	}

	.services-section {
		padding-top: 18px;
		padding-bottom: 62px;
	}

	.section-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 15px;
		margin-bottom: 22px;
	}

	.section-heading h2,.process-intro h2,.why-heading h2,.contact-cta h2 {
		font-size: clamp(31px,8vw,43px);
	}

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

	.service-card {
		min-height: 345px;
		padding: 16px 14px 22px;
	}

	.service-number {
		font-size: 8px;
		letter-spacing: .08em;
	}

	.service-visual {
		height: 145px;
		margin: 8px -2px 13px;
		scale: .95;
	}

	.service-card h3 {
		font-size: 16px;
	}

	.service-card p {
		font-size: 11px;
	}

	.service-arrow {
		right: 14px;
		bottom: 15px;
	}

	.bc {
		scale: .82;
		transform-origin: top left;
	}

	.bc-back {
		left: 8px;
		top: 15px;
	}

	.bc-front {
		left: 47px;
		top: 37px;
	}

	.flyer {
		scale: .8;
		transform-origin: top left;
	}

	.flyer-yellow {
		left: 10px;
	}

	.flyer-white {
		left: 70px;
	}

	.catalog-sheet {
		left: 40px;
		scale: .9;
	}

	.banner-sample {
		inset: 20px 3px;
	}

	.banner-sample span {
		font-size: 24px;
	}

	.calendar-sheet {
		left: 40px;
		scale: .9;
	}

	.calendar-base {
		left: 30px;
	}

	.custom-project {
		height: 145px;
		gap: 10px;
		font-size: 21px;
	}

	.custom-plus {
		width: 52px;
		height: 52px;
		font-size: 35px;
		flex-shrink: 0;
	}

	.process-section {
		padding: 58px 0;
	}

	.process-inner {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.process-intro>p:not(.eyebrow) {
		margin-top: 17px;
	}

	.process-step {
		padding: 17px 0;
	}

	.why-section {
		padding-top: 60px;
		padding-bottom: 65px;
	}

	.why-grid {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.why-grid>div {
		padding-top: 15px;
	}

	.why-grid p {
		max-width: 500px;
	}

	.contact-cta-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 27px;
		padding-top: 45px;
		padding-bottom: 44px;
	}

	.cta-actions {
		gap: 12px;
	}

	.cta-phone {
		font-size: 22px;
	}

	.cta-orb {
		right: -80px;
		top: 25px;
		width: 230px;
		height: 230px;
	}

	.cms-pages {
		padding-top: 55px;
		padding-bottom: 60px;
	}

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

	.footer-top {
		grid-template-columns: 1fr 1fr;
		gap: 30px 22px;
		padding-top: 38px;
		padding-bottom: 35px;
	}

	.footer-brand {
		grid-column: 1/-1;
	}

	.footer-brand p {
		max-width: 400px;
	}

	.footer-bottom {
		align-items: flex-start;
		flex-direction: column;
		justify-content: center;
		padding: 15px 0;
		gap: 6px;
	}

	.inner-page-wrap {
		padding-top: 28px;
		padding-bottom: 60px;
	}

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

@media(max-width:430px) {
	.topline-inner {
		width: calc(100% - 28px);
	}

	.topline-inner a {
		font-size: 9px;
	}

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

	.service-card {
		min-height: 335px;
		padding: 18px 20px 23px;
	}

	.service-visual {
		height: 155px;
	}

	.service-card h3 {
		font-size: 19px;
	}

	.service-card p {
		font-size: 12px;
		max-width: 290px;
	}

	.service-number {
		font-size: 9px;
	}

	.cms-pages .page-grid,.main-content .page-grid {
		grid-template-columns: 1fr;
	}

	.hero-art {
		min-height: 285px;
	}

	.hero-art:before {
		width: 230px;
		height: 230px;
	}

	.orbit-one {
		width: 270px;
		height: 270px;
	}

	.orbit-two {
		width: 320px;
		height: 320px;
	}

	.print-card {
		scale: .78;
	}

	.art-label {
		font-size: 7px;
	}

	.label-top {
		left: 16px;
		top: 17px;
	}

	.label-bottom {
		left: 16px;
		bottom: 17px;
	}

	.art-sticker {
		width: 68px;
		height: 68px;
		font-size: 8px;
		right: 5%;
		bottom: 28px;
	}

	.hero-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.hero-actions .button {
		width: 100%;
		justify-content: space-between;
	}

	.footer-top {
		grid-template-columns: 1fr;
	}

	.footer-brand {
		grid-column: auto;
	}

	.footer-column {
		gap: 9px;
	}
}

/* Динамический блок «Что мы делаем»: услуги из nc9_pages */
.service-grid-dynamic {
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 16px;
}

.service-card-dynamic {
	min-height: 370px;
	padding: 21px 22px 26px;
	background: #fff;
	border: 1px solid #e9e9e4;
	box-shadow: 0 4px 18px rgba(25,28,30,.025);
}

.service-card-dynamic:before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 4px;
	background: var(--accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .24s ease;
}

.service-card-dynamic:hover {
	transform: translateY(-5px);
	border-color: #dedbd0;
	box-shadow: 0 16px 34px rgba(25,28,30,.09);
}

.service-card-dynamic:hover:before {
	transform: scaleX(1);
}

.service-card-dynamic .service-number {
	display: flex;
	align-items: center;
	gap: 7px;
	color: #777a7d;
	font-size: 9px;
	letter-spacing: .13em;
}

.service-card-dynamic .service-number i {
	font-style: normal;
	color: #c4a900;
}

.service-art {
	height: 158px;
	margin: 13px 0 16px;
	background: #f5f5f1;
	overflow: hidden;
	isolation: isolate;
}

.service-art:before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg,rgba(255,255,255,.55),transparent 60%);
	z-index: -1;
}

.service-art-orbit {
	position: absolute;
	width: 190px;
	height: 190px;
	border: 1px solid rgba(30,33,35,.11);
	border-radius: 50%;
	right: -14px;
	top: -36px;
}

.service-art-orbit:after {
	content: "";
	position: absolute;
	inset: 13px;
	border: 1px solid rgba(30,33,35,.08);
	border-radius: 50%;
}

.service-art-sheet {
	position: absolute;
	display: block;
	width: 145px;
	height: 94px;
	box-shadow: 0 12px 25px rgba(23,26,29,.14);
	border: 1px solid rgba(20,22,24,.06);
}

.service-art-sheet-back {
	left: calc(50% - 66px);
	top: 33px;
	background: #25292d;
	transform: rotate(-11deg);
	transition: transform .25s ease;
}

.service-art-sheet-front {
	left: calc(50% - 45px);
	top: 43px;
	background: #f7d92d;
	transform: rotate(7deg);
	padding: 13px 14px;
	transition: transform .25s ease;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.service-art-sheet-front>span {
	font-size: 23px;
	font-weight: 950;
	letter-spacing: -2px;
	color: #22262a;
	line-height: 1;
}

.service-art-sheet-front>span span {
	color: #fff;
}

.service-art-sheet-front i {
	display: block;
	width: 72%;
	height: 3px;
	background: #22262a;
	opacity: .55;
}

.service-art-sheet-front i:last-child {
	width: 44%;
	opacity: .3;
}

.service-art-tag {
	position: absolute;
	left: 13px;
	bottom: 12px;
	font-size: 8px;
	letter-spacing: .12em;
	font-weight: 900;
	color: #777a7d;
}

.service-art-tag b {
	color: #b69b00;
}

.service-art-index {
	position: absolute;
	right: 13px;
	top: 12px;
	font-size: 10px;
	font-weight: 900;
	color: #9a9c9c;
}

.service-card-dynamic:hover .service-art-sheet-back {
	transform: translate(-4px,-3px) rotate(-15deg);
}

.service-card-dynamic:hover .service-art-sheet-front {
	transform: translate(4px,-3px) rotate(10deg);
}

.service-tone-2 .service-art {
	background: #f5f0df;
}

.service-tone-2 .service-art-sheet-front {
	background: #fff;
}

.service-tone-2 .service-art-sheet-back {
	background: #e5c927;
}

.service-tone-3 .service-art {
	background: #ecefeb;
}

.service-tone-3 .service-art-sheet-front {
	background: #25292d;
}

.service-tone-3 .service-art-sheet-front>span {
	color: #f8d72b;
}

.service-tone-3 .service-art-sheet-front i {
	background: #fff;
}

.service-tone-4 .service-art {
	background: #f1ede8;
}

.service-tone-4 .service-art-sheet-front {
	background: #e8b99b;
}

.service-tone-4 .service-art-sheet-back {
	background: #313638;
}

.service-tone-5 .service-art {
	background: #f5f5f1;
}

.service-tone-5 .service-art-sheet-front {
	background: #f8d72b;
}

.service-tone-6 .service-art {
	background: #ececf0;
}

.service-tone-6 .service-art-sheet-front {
	background: #fff;
}

.service-tone-6 .service-art-sheet-back {
	background: #4c5865;
}

.service-tone-7 .service-art {
	background: #f3eee5;
}

.service-tone-7 .service-art-sheet-front {
	background: #e7d3b0;
}

.service-tone-7 .service-art-sheet-back {
	background: #292b2e;
}

.service-tone-8 .service-art {
	background: #e8eeeb;
}

.service-tone-8 .service-art-sheet-front {
	background: #f8f8f3;
}

.service-tone-8 .service-art-sheet-back {
	background: #3b5550;
}

.service-tone-9 .service-art {
	background: #f1edf1;
}

.service-tone-9 .service-art-sheet-front {
	background: #f8d72b;
}

.service-tone-9 .service-art-sheet-back {
	background: #6a5365;
}

.service-card-dynamic h3 {
	font-size: 19px;
	line-height: 1.25;
	margin-bottom: 8px;
	max-width: 94%;
}

.service-card-dynamic p {
	font-size: 12px;
	line-height: 1.7;
	color: #74777b;
	max-width: 95%;
	margin: 0;
}

.service-card-dynamic .service-arrow {
	right: 21px;
	bottom: 21px;
	color: #25292d;
}

.services-empty {
	padding: 24px;
	background: #f5f5f1;
	color: #686b70;
	font-size: 13px;
}

@media(max-width:1000px) {
	.service-grid-dynamic {
		gap: 12px;
	}

	.service-card-dynamic {
		padding: 18px 17px 25px;
	}

	.service-art {
		height: 145px;
	}

	.service-card-dynamic h3 {
		font-size: 17px;
	}
}

@media(max-width:760px) {
	.service-grid-dynamic {
		grid-template-columns: repeat(2,minmax(0,1fr));
		gap: 10px;
	}

	.service-card-dynamic {
		min-height: 330px;
		padding: 16px 14px 22px;
	}

	.service-art {
		height: 132px;
		margin: 9px 0 12px;
	}

	.service-art-sheet {
		width: 122px;
		height: 80px;
	}

	.service-art-sheet-back {
		left: calc(50% - 58px);
		top: 29px;
	}

	.service-art-sheet-front {
		left: calc(50% - 38px);
		top: 36px;
		padding: 10px 11px;
	}

	.service-card-dynamic h3 {
		font-size: 16px;
	}

	.service-card-dynamic p {
		font-size: 11px;
	}

	.service-card-dynamic .service-arrow {
		right: 14px;
		bottom: 15px;
	}
}

@media(max-width:430px) {
	.service-grid-dynamic {
		grid-template-columns: 1fr;
	}

	.service-card-dynamic {
		min-height: 330px;
		padding: 18px 20px 23px;
	}

	.service-art {
		height: 155px;
	}

	.service-art-sheet {
		width: 145px;
		height: 94px;
	}

	.service-art-sheet-back {
		left: calc(50% - 66px);
		top: 33px;
	}

	.service-art-sheet-front {
		left: calc(50% - 45px);
		top: 43px;
		padding: 13px 14px;
	}

	.service-card-dynamic h3 {
		font-size: 19px;
	}

	.service-card-dynamic p {
		font-size: 12px;
	}
}

/* Фотографии по теме в карточках «Что мы делаем» */
.service-card-dynamic .service-art-photo {
	height: 176px;
	margin: 12px 0 17px;
	border-radius: 4px;
	background: #f2f1ec;
	overflow: hidden;
	position: relative;
	isolation: isolate;
}

.service-card-dynamic .service-art-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform .45s cubic-bezier(.2,.7,.2,1),filter .3s ease;
}

.service-card-dynamic:hover .service-art-image {
	transform: scale(1.045);
	filter: saturate(1.04);
}

.service-art-photo-index {
	position: absolute;
	right: 10px;
	top: 10px;
	padding: 5px 7px;
	border-radius: 2px;
	background: rgba(255,255,255,.88);
	color: #24272b;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .08em;
	backdrop-filter: blur(5px);
}

@media(max-width:1000px) {
	.service-card-dynamic .service-art-photo {
		height: 150px;
	}
}

@media(max-width:760px) {
	.service-card-dynamic .service-art-photo {
		height: 132px;
		margin: 9px 0 12px;
	}
}

@media(max-width:430px) {
	.service-card-dynamic .service-art-photo {
		height: 175px;
		margin: 10px 0 14px;
	}
}

/* В блоке «Что мы делаем» используем обложку самой страницы услуги. Если обложки нет — оставляем чистое белое поле. */
.service-card-dynamic .service-art-photo {
	background: #fff;
}

.service-card-dynamic .service-art-photo.service-art-empty {
	background: #fff;
	border: 1px solid #f0f0ed;
}

.service-card-dynamic .service-art-photo .service-art-image {
	object-fit: contain;
}

#nc9-snow-canvas {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
	pointer-events: none;
}
/* NC9 responsive slider: fits the site container regardless of source image pixel dimensions */
.slider-section {
	width: min(1220px,calc(100% - 56px));
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.slider-section .nc9-slider {
	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	aspect-ratio: var(--nc9-slider-ratio,1200/420);
	height: auto;
	overflow: hidden;
	box-sizing: border-box;
	border-radius: 3px;
	background: #f3f3f0;
	isolation: isolate;
}

.nc9-slider-track {
	position: relative;
	width: 100%;
	height: 100%;
	min-width: 0;
}

.nc9-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transition: opacity .45s ease;
	box-sizing: border-box;
}

.nc9-slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

.nc9-slide-link,.nc9-slide picture {
	display: block;
	width: 100%;
	height: 100%;
	min-width: 0;
}

.nc9-slide img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	object-position: center center;
}

.nc9-slide-copy {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: clamp(16px,3vw,40px);
	color: #fff;
	background: linear-gradient(0deg,rgba(0,0,0,.72),transparent);
	pointer-events: none;
}

.nc9-slide-copy h2 {
	margin: 0 0 8px;
	font-size: clamp(20px,3vw,38px);
	line-height: 1.1;
}

.nc9-slide-copy p {
	margin: 0;
	max-width: 760px;
	font-size: clamp(12px,1.2vw,16px);
	line-height: 1.5;
}

.nc9-slider-prev,.nc9-slider-next {
	position: absolute;
	top: 50%;
	z-index: 3;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}

.nc9-slider-prev {
	left: 14px;
}

.nc9-slider-next {
	right: 14px;
}

.nc9-slider-dots {
	position: absolute;
	z-index: 4;
	right: 20px;
	bottom: 16px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.nc9-slider-dots button {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}

.nc9-slider-dots button.is-active {
	width: 22px;
}

@media(max-width:760px) {
	.slider-section {
		width: calc(100% - 36px);
	}

	.slider-section .nc9-slider {
		aspect-ratio: var(--nc9-slider-ratio,1200/420);
	}

	.nc9-slide-copy {
		padding: 12px 14px 30px;
	}

	.nc9-slide-copy h2 {
		font-size: clamp(16px,4vw,22px);
		margin-bottom: 4px;
	}

	.nc9-slide-copy p {
		font-size: 11px;
		line-height: 1.35;
	}

	.nc9-slider-prev,.nc9-slider-next {
		width: 32px;
		height: 32px;
		font-size: 22px;
	}

	.nc9-slider-prev {
		left: 8px;
	}

	.nc9-slider-next {
		right: 8px;
	}

	.nc9-slider-dots {
		right: 12px;
		bottom: 10px;
		gap: 6px;
	}
}

/* NC9 header refresh: clear identity, address and contact hierarchy */
.nc9-site-header {
	background: #fff;
	border-bottom: 1px solid #e9e9e5;
	z-index: 30;
}

.nc9-header-main {
	width: min(1320px,calc(100% - 56px));
	min-height: 122px;
	display: grid;
	grid-template-columns: auto minmax(220px,1.25fr) minmax(230px,1fr) minmax(220px,.9fr);
	align-items: center;
	gap: clamp(18px,2.4vw,38px);
	padding-top: 18px;
	padding-bottom: 18px;
}

.nc9-header-logo {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-decoration: none;
	min-width: 0;
}

.nc9-header-logo .logo-mark {
	width: 72px;
	height: 62px;
	font-size: 32px;
	border-radius: 2px;
	flex: 0 0 auto;
}

.nc9-header-identity {
	min-width: 0;
}

.nc9-header-title {
	font-size: clamp(17px,1.55vw,22px);
	line-height: 1.25;
	font-weight: 850;
	letter-spacing: -.035em;
	color: #20242a;
}

.nc9-header-subtitle {
	margin-top: 8px;
	color: #73777c;
	font-size: 12px;
	line-height: 1.5;
	font-weight: 550;
}

.nc9-header-address {
	min-width: 0;
	padding-left: 23px;
	border-left: 1px solid #e7e7e2;
	color: #51565c;
	font-size: 11px;
	line-height: 1.65;
}

.nc9-header-label {
	display: block;
	margin-bottom: 4px;
	color: #9a8200;
	font-size: 9px;
	font-weight: 850;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.nc9-header-contacts {
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	padding-left: 22px;
	border-left: 1px solid #e7e7e2;
}

.nc9-header-phone {
	color: #20242a;
	text-decoration: none;
	font-size: 19px;
	line-height: 1.25;
	font-weight: 850;
	letter-spacing: -.035em;
	white-space: nowrap;
}

.nc9-header-email {
	color: #6e5b00;
	text-decoration: none;
	font-size: 12px;
	font-weight: 700;
}

.nc9-header-hours {
	margin-top: 4px;
	color: #777c81;
	font-size: 10px;
	line-height: 1.4;
}

.nc9-navigation-wrap {
	border-top: 1px solid #f0f0ed;
	background: #fff;
}

.nc9-navigation-inner {
	width: min(1320px,calc(100% - 56px));
	min-height: 48px;
	display: flex;
	align-items: center;
}

.nc9-site-header .main-nav {
	display: flex;
	align-items: center;
	gap: clamp(18px,2.5vw,34px);
	margin: 0;
	flex-wrap: wrap;
}

.nc9-site-header .main-nav a {
	padding: 13px 0;
	color: #34383d;
	font-size: 12px;
	font-weight: 750;
}

.nc9-site-header .main-nav a[aria-current="page"] {
	color: #8b7200;
}

.nc9-site-header .main-nav a[aria-current="page"]:after {
	right: 0;
}

.nc9-site-header .mobile-menu-toggle {
	display: none;
}

.nc9-header-phone:hover,.nc9-header-email:hover {
	color: #9b7e00;
}

.nc9-header-phone:focus-visible,.nc9-header-email:focus-visible,.nc9-header-logo:focus-visible,.nc9-site-header .main-nav a:focus-visible,.mobile-menu-toggle:focus-visible {
	outline: 3px solid #d5b000;
	outline-offset: 4px;
}

@media(max-width:1100px) {
	.nc9-header-main {
		grid-template-columns: auto minmax(190px,1.2fr) minmax(210px,1fr);
		gap: 20px;
	}

	.nc9-header-address {
		grid-column: 2;
		grid-row: 2;
		border-left: 0;
		padding-left: 0;
		margin-top: -7px;
	}

	.nc9-header-contacts {
		grid-column: 3;
		grid-row: 1/3;
		align-self: center;
	}

	.nc9-header-identity {
		grid-column: 2;
		grid-row: 1;
	}
}

@media(max-width:760px) {
	.nc9-header-main {
		width: calc(100% - 36px);
		min-height: 0;
		grid-template-columns: minmax(0,1fr) auto;
		gap: 10px 14px;
		padding-top: 15px;
		padding-bottom: 15px;
	}

	.nc9-header-logo {
		grid-column: 1;
		grid-row: 1;
		align-self: center;
	}

	.nc9-header-logo .logo-mark {
		width: 54px;
		height: 46px;
		font-size: 24px;
	}

	.nc9-header-identity {
		grid-column: 1/-1;
		grid-row: 2;
		padding-top: 2px;
	}

	.nc9-header-title {
		font-size: 18px;
		line-height: 1.25;
	}

	.nc9-header-subtitle {
		font-size: 11px;
		margin-top: 4px;
	}

	.nc9-header-address {
		grid-column: 1/-1;
		grid-row: 3;
		margin: 0;
		padding: 10px 0 0;
		border: 0;
		border-top: 1px solid #eeeeea;
		font-size: 11px;
	}

	.nc9-header-contacts {
		grid-column: 1;
		grid-row: 4;
		padding: 10px 0 0;
		border: 0;
		border-top: 1px solid #eeeeea;
		gap: 3px;
	}

	.nc9-header-phone {
		font-size: 18px;
	}

	.nc9-header-email {
		font-size: 11px;
	}

	.nc9-header-hours {
		font-size: 10px;
		margin-top: 2px;
	}

	.nc9-site-header .mobile-menu-toggle {
		grid-column: 2;
		grid-row: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		align-self: center;
		margin: 0;
		padding: 10px 12px;
		border: 1px solid #deded9;
		border-radius: 2px;
		background: #fff;
		color: #25292d;
		font-family: inherit;
		font-size: 11px;
		font-weight: 800;
		line-height: 1;
		cursor: pointer;
	}

	.mobile-menu-icon {
		display: flex;
		flex-direction: column;
		gap: 4px;
		width: 17px;
	}

	.mobile-menu-icon i {
		display: block;
		height: 2px;
		width: 17px;
		background: #20242a;
		transition: transform .2s,opacity .2s;
	}

	.nc9-site-header .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon i:first-child {
		transform: translateY(6px) rotate(45deg);
	}

	.nc9-site-header .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon i:nth-child(2) {
		opacity: 0;
	}

	.nc9-site-header .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon i:last-child {
		transform: translateY(-6px) rotate(-45deg);
	}

	.nc9-navigation-inner {
		width: calc(100% - 36px);
		min-height: 0;
		display: block;
	}

	.nc9-site-header .main-nav {
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		margin: 0;
		padding: 5px 0 10px;
	}

	.nc9-site-header .main-nav.is-open {
		display: flex;
	}

	.nc9-site-header .main-nav a {
		display: block;
		padding: 11px 2px;
		border-bottom: 1px solid #f0f0ed;
		font-size: 13px;
	}

	.nc9-site-header .main-nav a:after {
		display: none;
	}
}

@media(max-width:360px) {
	.nc9-header-title {
		font-size: 16px;
	}

	.nc9-header-subtitle {
		font-size: 10px;
	}

	.nc9-header-phone {
		font-size: 16px;
	}

	.nc9-header-address {
		font-size: 10px;
	}

	.mobile-menu-toggle-text {
		display: none;
	}

	.nc9-site-header .mobile-menu-toggle {
		width: 43px;
		height: 42px;
	}
}


/* NC9: unified content alignment and sticky navigation/header */
.container,
.inner-page-wrap,
.nc9-header-main,
.nc9-navigation-inner {
	width: min(1220px, calc(100% - 56px));
	max-width: 1220px;
}

.nc9-site-header {
	position: relative;
}

.nc9-navigation-wrap {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: #fff;
	box-shadow: 0 3px 12px rgba(20,24,30,.045);
}
/* Prevent wide media/tables and long words from pushing the layout sideways. */
img, video, iframe {
	max-width: 100%;
}

.container, .inner-page-wrap, .nc9-header-main, .nc9-navigation-inner,
.footer-top, .footer-bottom, .hero-intro, .process-inner {
	min-width: 0;
}

@media (max-width: 760px) {
	.container, .inner-page-wrap,
    .nc9-header-main, .nc9-navigation-inner {
		width: calc(100% - 32px);
		max-width: none;
	}

	.nc9-site-header {
		position: sticky;
		top: 0;
		z-index: 1100;
		box-shadow: 0 3px 12px rgba(20,24,30,.07);
	}

	.nc9-header-main {
		min-height: 0;
		grid-template-columns: 54px minmax(0,1fr) 42px;
		grid-template-rows: 44px;
		align-items: center;
		gap: 8px 12px;
		padding-top: 7px;
		padding-bottom: 7px;
	}

	.nc9-header-logo {
		grid-column: 1;
		grid-row: 1;
	}

	.nc9-header-logo .logo-mark {
		width: 52px;
		height: 42px;
		font-size: 23px;
	}

	.nc9-header-identity,
    .nc9-header-address,
    .nc9-header-email,
    .nc9-header-hours {
		display: none !important;
	}

	.nc9-header-contacts {
		grid-column: 2;
		grid-row: 1;
		display: flex;
		align-items: flex-start;
		justify-content: center;
		padding: 0;
		margin: 0;
		border: 0;
		min-width: 0;
	}

	.nc9-header-phone {
		font-size: clamp(15px, 4.2vw, 18px);
		line-height: 1.2;
	}

	.nc9-site-header .mobile-menu-toggle {
		grid-column: 3;
		grid-row: 1;
		width: 42px;
		height: 42px;
		padding: 0;
		border: 0;
		background: transparent;
		border-radius: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.mobile-menu-toggle-text {
		display: none !important;
	}

	.mobile-menu-icon {
		width: 23px;
		gap: 5px;
	}

	.mobile-menu-icon i {
		width: 23px;
		height: 2px;
	}

	.nc9-navigation-wrap {
		position: static;
		box-shadow: none;
		border-top: 1px solid #f0f0ed;
	}

	.nc9-navigation-inner {
		min-height: 0;
		display: block;
	}

	.nc9-site-header .main-nav {
		padding: 4px 0 8px;
	}

	.nc9-site-header .main-nav a {
		padding: 9px 2px;
	}
}

@media (min-width: 761px) {
	.nc9-navigation-wrap {
		top: 0;
	}
}


/* Keep the desktop navigation attached to the viewport while scrolling. */
@media (min-width: 761px) {
	.nc9-navigation-wrap {
		position: sticky !important;
		top: 0 !important;
		z-index: 1200 !important;
		background: #fff;
	}
}


/* NC9 legacy-inspired inner pages: full-width content with a useful right rail. */
.inner-page-wrap {
	width: min(1460px, calc(100% - 64px));
	max-width: 1460px;
	padding-top: 32px;
	padding-bottom: 88px;
}

.page-heading {
	margin-bottom: 28px;
}

.page-heading h1 {
	max-width: 1120px;
}

.page-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 306px;
	align-items: start;
	gap: clamp(28px, 3.2vw, 54px);
}

.page-primary {
	min-width: 0;
}

.page-content {
	width: 100%;
	max-width: none;
	font-size: 16px;
	line-height: 1.78;
	color: #30343a;
}

.page-content > *:first-child {
	margin-top: 0;
}

.page-content h2, .page-content h3, .page-content h4 {
	color: #20242a;
	letter-spacing: -.025em;
}

.page-content h2 {
	font-size: clamp(24px, 2.2vw, 32px);
}

.page-content h3 {
	font-size: clamp(20px, 1.8vw, 25px);
}

.page-content a {
	color: #8b7100;
}

.page-content img {
	border-radius: 2px;
}

.page-content table {
	display: table;
	width: auto;
	max-width: 100%;
}

.page-sidebar {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}

.sidebar-card {
	padding: 25px 24px;
	border: 1px solid #e6e5df;
	background: #fff;
	box-shadow: 0 8px 28px rgba(25,29,33,.045);
}

.sidebar-order {
	background: #f7f6f1;
	border-top: 4px solid var(--accent);
}

.sidebar-kicker {
	margin: 0 0 12px;
	color: #8a760c;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .16em;
}

.page-sidebar h2 {
	margin: 0 0 13px;
	font-size: 23px;
	line-height: 1.2;
	letter-spacing: -.035em;
}

.sidebar-order p:not(.sidebar-kicker) {
	margin: 0 0 18px;
	color: #70747a;
	font-size: 12px;
	line-height: 1.7;
}

.sidebar-phone {
	display: block;
	margin: 0 0 7px;
	color: #20242a;
	text-decoration: none;
	font-size: 20px;
	font-weight: 850;
	letter-spacing: -.035em;
	white-space: nowrap;
}

.sidebar-email {
	display: inline-block;
	color: #6c5b08;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.sidebar-links {
	padding-top: 22px;
	padding-bottom: 17px;
}

.sidebar-links h2 {
	font-size: 18px;
	margin-bottom: 12px;
}

.sidebar-links a {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid #eeede8;
	color: #3c4045;
	font-size: 12px;
	line-height: 1.4;
	text-decoration: none;
}

.sidebar-links a span {
	color: #9b8300;
	flex-shrink: 0;
}

.sidebar-links a:hover {
	color: #8b7100;
}

.sidebar-note {
	display: grid;
	grid-template-columns: 42px 1fr;
	align-items: center;
	gap: 2px 12px;
	padding: 18px 20px;
	background: #20242a;
	color: #fff;
}

.sidebar-note-mark {
	grid-row: span 2;
	display: grid;
	place-items: center;
	width: 42px;
	height: 36px;
	background: var(--accent);
	color: #20242a;
	font-size: 16px;
	font-weight: 950;
}

.sidebar-note strong {
	font-size: 11px;
	line-height: 1.35;
}

.sidebar-note > span:last-child {
	color: #bfc1c4;
	font-size: 9px;
	line-height: 1.4;
}

@media (max-width: 1050px) {
	.inner-page-wrap {
		width: min(100% - 48px, 900px);
	}

	.page-layout {
		grid-template-columns: minmax(0, 1fr) 260px;
		gap: 24px;
	}

	.sidebar-card {
		padding: 20px 18px;
	}

	.sidebar-phone {
		font-size: 17px;
	}
}

@media (max-width: 760px) {
	.inner-page-wrap {
		width: calc(100% - 32px);
		padding-top: 24px;
		padding-bottom: 58px;
	}

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

	.page-sidebar {
		display: grid;
		grid-template-columns: repeat(2,minmax(0,1fr));
		align-items: stretch;
	}

	.sidebar-note {
		grid-column: 1/-1;
	}

	.page-content {
		font-size: 15px;
	}

	.page-content table {
		display: block;
		overflow-x: auto;
	}
}

@media (max-width: 520px) {
	.page-sidebar {
		grid-template-columns: 1fr;
	}

	.sidebar-note {
		grid-column: auto;
	}

	.page-heading h1 {
		font-size: clamp(31px, 9vw, 43px);
	}
}


/* NC9 final alignment: header, navigation and page content share one grid. */
.nc9-header-main,
.nc9-navigation-inner,
.inner-page-wrap,
.container {
	width: min(1460px, calc(100% - 64px));
	max-width: 1460px;
	margin-left: auto;
	margin-right: auto;
}

.nc9-header-main {
	grid-template-columns: 112px minmax(250px, 1.2fr) minmax(260px, 1fr) minmax(250px, .95fr);
	gap: clamp(20px, 2.2vw, 38px);
}

.nc9-header-logo {
	width: 112px;
}

.nc9-original-logo {
	display: block;
	width: 104px;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.nc9-footer-logo {
	width: 112px;
	height: auto;
	padding: 0;
	background: transparent;
}

.nc9-header-logo .logo-mark {
	display: none;
}

.nc9-navigation-inner {
	justify-content: flex-end;
}

.inner-page-wrap {
	padding-top: 32px;
}

.page-layout-contact {
	display: block;
}

.page-layout-contact .page-primary {
	width: 100%;
}

.page-layout-contact .page-content {
	max-width: none;
}

.page-layout-contact .page-sidebar {
	display: none;
}

.page-layout-contact .page-content > table,
.page-content table {
	width: 100%;
	max-width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #deded8;
	background: #fff;
	font-size: 14px;
	line-height: 1.55;
}

.page-content table {
	margin: 24px 0 30px;
}

.page-content thead th,
.page-content th {
	padding: 13px 16px;
	background: #25292d;
	color: #fff;
	border: 0;
	border-right: 1px solid #45494d;
	text-align: left;
	font-weight: 750;
}

.page-content td {
	padding: 12px 16px;
	border: 0;
	border-right: 1px solid #e8e8e2;
	border-top: 1px solid #e8e8e2;
	vertical-align: top;
}

.page-content tbody tr:nth-child(even) td {
	background: #f7f7f3;
}

.page-content tbody tr:hover td {
	background: #fff9d9;
}

.page-content td:last-child,
.page-content th:last-child {
	border-right: 0;
}

.page-content table img {
	max-width: 100%;
	height: auto;
}

.page-content .child-pages {
	margin-top: 48px;
}

.child-pages {
	clear: both;
}

@media (max-width: 1100px) {
	.nc9-header-main {
		grid-template-columns: 90px minmax(190px,1.2fr) minmax(210px,1fr);
	}

	.nc9-header-logo {
		width: 90px;
	}

	.nc9-original-logo {
		width: 88px;
	}
}

@media (max-width: 760px) {
	.nc9-header-main, .nc9-navigation-inner, .inner-page-wrap, .container {
		width: calc(100% - 36px);
		max-width: none;
	}

	.nc9-header-main {
		grid-template-columns: minmax(0,1fr) auto;
	}

	.nc9-header-logo {
		width: 105px;
		grid-column: 1;
		grid-row: 1;
	}

	.nc9-original-logo {
		width: 100px;
	}

	.nc9-footer-logo {
		width: 108px;
	}

	.nc9-navigation-inner {
		justify-content: flex-start;
	}

	.page-content table {
		display: block;
		overflow-x: auto;
	}
}


/* NC9 editorial inner pages — full-width layout, no right sidebar. */
.inner-page-wrap {
	width: min(1460px,calc(100% - 64px));
	max-width: 1460px;
}

.page-layout-full {
	display: block;
	width: 100%;
}

.page-layout-full .page-primary,
.page-layout-full .page-content {
	width: 100%;
	max-width: none;
	min-width: 0;
}

.page-heading {
	max-width: none;
	margin-bottom: 30px;
	padding-bottom: 24px;
	border-bottom: 1px solid #e9e7df;
}

.page-heading h1 {
	max-width: none;
	font-size: clamp(38px,4.4vw,62px);
	margin-bottom: 0;
}

.page-heading .eyebrow {
	color: #887000;
}

.page-content {
	font-size: 17px;
	line-height: 1.78;
	color: #30343a;
}

.page-content > p:first-of-type {
	max-width: 1120px;
	font-size: 19px;
	line-height: 1.75;
	color: #555b63;
}

.page-content h2 {
	margin: 54px 0 22px;
	padding-top: 18px;
	border-top: 1px solid #eceae4;
	font-size: clamp(25px,2.6vw,36px);
}

.page-content h3 {
	margin: 38px 0 16px;
	font-size: clamp(21px,2vw,27px);
}

.page-content table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	margin: 22px 0 38px;
	border: 1px solid #deddd6;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	box-shadow: 0 8px 24px rgba(30,34,38,.045);
	font-size: 14px;
	line-height: 1.5;
}

.page-content table tr:first-child td, .page-content table tr:first-child th {
	background: #25292d;
	color: #fff;
	font-weight: 750;
	border-top: 0;
}

.page-content table th {
	background: #25292d;
	color: #fff;
	font-weight: 750;
	text-align: left;
}

.page-content table td, .page-content table th {
	min-width: 92px;
	padding: 13px 16px;
	border: 0;
	border-right: 1px solid #e7e5de;
	border-top: 1px solid #e7e5de;
	vertical-align: middle;
}

.page-content table tr:nth-child(even) td {
	background: #f7f7f3;
}

.page-content table tr:hover td {
	background: #fff8d6;
}

.page-content table img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 8px auto;
}

.page-content img {
	max-width: 100%;
	height: auto;
}

.page-content > p:has(img) {
	margin: 28px 0;
}

.page-content a {
	color: #806800;
	text-underline-offset: 3px;
}

.page-content a:hover {
	color: #25292d;
}

.page-content ul, .page-content ol {
	padding-left: 1.5em;
}

.page-content blockquote {
	margin: 30px 0;
	padding: 22px 26px;
	background: #f8f7f2;
	border-left: 4px solid #f4c400;
}

.child-pages {
	margin-top: 64px;
	padding-top: 34px;
	border-top: 2px solid #f0c900;
}

.child-pages h2 {
	margin-top: 0;
	border: 0;
	padding: 0;
}

@media(max-width:760px) {
	.inner-page-wrap {
		width: calc(100% - 36px);
		padding-top: 24px;
	}

	.page-content {
		font-size: 15px;
	}

	.page-content > p:first-of-type {
		font-size: 16px;
	}

	.page-content table {
		font-size: 12px;
	}

	.page-content table td, .page-content table th {
		padding: 10px 12px;
		min-width: 80px;
	}
}


/* Legacy NC9 content compatibility: restore the Bootstrap-style grid used by old page HTML. */
.page-content .row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin-left: -15px;
	margin-right: -15px;
}

.page-content [class*="col-"] {
	position: relative;
	width: 100%;
	min-height: 1px;
	padding-left: 15px;
	padding-right: 15px;
}

.page-content .img-responsive,
.page-content img.img-responsive {
	display: block;
	max-width: 100%;
	height: auto;
}

.page-content .table-responsive {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 18px 0 30px;
}

.page-content .table-responsive > table {
	display: table;
	width: 100%;
	max-width: 100%;
	margin: 0;
	overflow: visible;
	box-shadow: none;
	border-collapse: separate;
	border-spacing: 0;
}

.page-content .table-responsive td,
.page-content .table-responsive th {
	min-width: 0;
}

.page-content .exhib {
	display: block;
	max-width: 100%;
	margin: 0 auto 24px;
	text-align: center;
}

.page-content .exhib img {
	display: inline-block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

@media (min-width: 768px) {
	.page-content .col-sm-12,
    .page-content .col-sm12 {
		width: 100%;
	}

	.page-content .col-md-3 {
		width: 25%;
	}

	.page-content .col-md-9 {
		width: 75%;
	}

	.page-content .col-md-12 {
		width: 100%;
	}
}

@media (min-width: 992px) {
	.page-content .col-lg-3 {
		width: 25%;
	}

	.page-content .col-lg-9 {
		width: 75%;
	}
}

@media (max-width: 767px) {
	.page-content .hidden-xs,
    .page-content .hidden-sm {
		display: none !important;
	}

	.page-content .row {
		margin-left: -10px;
		margin-right: -10px;
	}

	.page-content [class*="col-"] {
		padding-left: 10px;
		padding-right: 10px;
	}

	.page-content .table-responsive > table {
		min-width: 560px;
	}
}


/* Compact typography and four-column child page cards */
body {
	font-size: 14px;
	line-height: 1.62;
}

.inner-page-wrap {
	padding-top: 28px;
	padding-bottom: 64px;
}

.page-heading {
	margin-bottom: 25px;
}

.page-heading h1 {
	font-size: clamp(30px, 3.2vw, 43px);
	line-height: 1.12;
	margin-bottom: 14px;
}

.page-heading .eyebrow {
	margin-bottom: 10px;
	font-size: 9px;
}

.page-content {
	max-width: none;
	font-size: 15px;
	line-height: 1.68;
}

.page-content > p:first-of-type {
	font-size: 15.5px;
	line-height: 1.7;
}

.page-content h2 {
	font-size: clamp(21px, 2vw, 28px);
	margin: 38px 0 16px;
}

.page-content h3 {
	font-size: clamp(18px, 1.6vw, 22px);
	margin: 28px 0 12px;
}

.page-content h4 {
	font-size: 17px;
	margin: 22px 0 10px;
}

.page-content table {
	font-size: 13px;
}

.child-pages {
	margin: 0 0 34px;
	padding: 24px 0 30px;
	border-top: 1px solid #e8e6df;
	border-bottom: 1px solid #e8e6df;
}

.child-pages h2 {
	margin: 0 0 18px;
	padding: 0;
	border: 0;
	font-size: 21px;
}

.child-pages .page-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.child-pages .page-card {
	min-width: 0;
	min-height: 0;
	padding: 0 0 15px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	gap: 0;
	overflow: hidden;
	border: 1px solid #e5e5e1;
	border-radius: 3px;
	background: #fff;
	color: #24282d;
	text-decoration: none;
	box-shadow: 0 3px 12px rgba(25,30,35,.035);
}

.child-pages .page-card:hover {
	transform: translateY(-2px);
	border-color: #e2c300;
	box-shadow: 0 8px 22px rgba(25,30,35,.09);
}

.child-pages .page-card .card-kicker {
	order: 2;
	margin: 12px 14px 5px;
	font-size: 9px;
	letter-spacing: .12em;
}

.child-pages .page-card strong {
	order: 3;
	display: block;
	max-width: none;
	padding: 0 34px 0 14px;
	font-size: 14px;
	line-height: 1.35;
	font-weight: 700;
}

.child-pages .page-card-cover, .child-pages .page-card-placeholder {
	order: 1;
	display: block;
	width: 100%;
	height: 142px;
	object-fit: cover;
	border-radius: 0;
	background: #f2f1ec;
}

.child-pages .page-card-placeholder {
	display: grid;
	place-items: center;
	background: linear-gradient(135deg,#f5f3e9,#e9e7dc);
	color: #25292d;
}

.child-pages .page-card-placeholder span {
	display: grid;
	place-items: center;
	width: 48px;
	height: 40px;
	background: #f4c400;
	font-size: 18px;
	font-weight: 900;
	letter-spacing: -1px;
}

.child-pages .page-card .card-arrow {
	right: 13px;
	bottom: 12px;
	font-size: 17px;
}

@media (max-width: 1000px) {
	.child-pages .page-grid {
		grid-template-columns: repeat(3,minmax(0,1fr));
	}
}

@media (max-width: 720px) {
	.child-pages .page-grid {
		grid-template-columns: repeat(2,minmax(0,1fr));
		gap: 12px;
	}

	.child-pages .page-card-cover, .child-pages .page-card-placeholder {
		height: 125px;
	}
}

@media (max-width: 420px) {
	.child-pages .page-grid {
		grid-template-columns: 1fr 1fr;
		gap: 9px;
	}

	.child-pages .page-card-cover, .child-pages .page-card-placeholder {
		height: 100px;
	}

	.child-pages .page-card strong {
		font-size: 13px;
	}
}

/* NC9: исправленная структура карточек дочерних страниц */
.child-pages {
	display: block;
	width: 100%;
	clear: both;
	margin: 0 0 34px;
	padding: 22px 0 28px;
	border-top: 1px solid #e8e6df;
	border-bottom: 1px solid #e8e6df;
}

.child-pages h2 {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	color: #25292d;
	font-size: 20px;
	line-height: 1.3;
}

.child-pages .page-grid {
	display: grid !important;
	grid-template-columns: repeat(4,minmax(0,1fr)) !important;
	align-items: stretch;
	gap: 18px;
	width: 100%;
	margin: 0;
	padding: 0;
}

.child-pages .page-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0 0 15px;
	overflow: hidden;
	border: 1px solid #e7e5de;
	border-radius: 4px;
	background: #fff;
	color: #25292d;
	text-decoration: none;
	box-shadow: 0 3px 12px rgba(25,30,35,.045);
	transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.child-pages .page-card:hover {
	transform: translateY(-3px);
	border-color: #e2c300;
	box-shadow: 0 9px 22px rgba(25,30,35,.10);
}

.child-pages .page-card-media {
	display: block;
	width: 100%;
	height: 150px;
	overflow: hidden;
	background: #f1f0e9;
}

.child-pages .page-card-cover {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

.child-pages .page-card-placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	background: linear-gradient(135deg,#f4f2e9,#e9e7dc);
}

.child-pages .page-card-placeholder span {
	display: grid;
	width: 48px;
	height: 40px;
	place-items: center;
	background: #f4c400;
	color: #202328;
	font-size: 17px;
	font-weight: 900;
}

.child-pages .page-card-title {
	display: block;
	min-height: 42px;
	padding: 13px 38px 0 14px;
	font-size: 14px;
	line-height: 1.4;
	font-weight: 700;
}

.child-pages .page-card-arrow {
	position: absolute;
	right: 14px;
	bottom: 14px;
	color: #947600;
	font-size: 17px;
	line-height: 1;
}

.page-heading {
	margin-bottom: 24px;
}

.page-heading h1 {
	font-size: clamp(30px,3vw,42px);
	line-height: 1.15;
}

.page-content {
	font-size: 15px;
	line-height: 1.65;
}

.page-content > p:first-of-type {
	font-size: 15.5px;
	line-height: 1.7;
}

.page-content h2 {
	margin: 34px 0 15px;
	font-size: clamp(21px,1.8vw,27px);
}

.page-content h3 {
	margin: 26px 0 12px;
	font-size: clamp(18px,1.5vw,22px);
}

@media (max-width:1100px) {
	.child-pages .page-grid {
		grid-template-columns: repeat(3,minmax(0,1fr)) !important;
	}
}

@media (max-width:760px) {
	.child-pages .page-grid {
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
		gap: 12px;
	}

	.child-pages .page-card-media {
		height: 125px;
	}
}

@media (max-width:420px) {
	.child-pages .page-grid {
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
		gap: 9px;
	}

	.child-pages .page-card-media {
		height: 105px;
	}

	.child-pages .page-card-title {
		padding: 10px 30px 0 10px;
		font-size: 12px;
	}
}


/* NC9 inner-page refinements: remove decorative rules and restore old media grid. */
.page-heading {
	border: 0 !important;
	padding-bottom: 0 !important;
	margin-bottom: 24px !important;
}

.page-heading .eyebrow {
	display: none !important;
}

.child-pages {
	border-top: 0 !important;
	border-bottom: 0 !important;
	padding-top: 8px !important;
}

/* Legacy Bootstrap columns used by the original NC9 content. */
@media (min-width:768px) {
	.page-content .col-md-6 {
		width: 50%;
	}

	.page-content .col-md-4 {
		width: 33.333333%;
	}

	.page-content .col-md-8 {
		width: 66.666667%;
	}
}

.page-content .video-block {
	position: relative;
	width: 100%;
	margin: 0 0 22px;
	padding: 9px;
	overflow: hidden;
	border: 1px solid #e8e6df;
	border-radius: 5px;
	background: #fff;
	box-shadow: 0 5px 18px rgba(31,35,39,.055);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.page-content .video-block:hover {
	transform: translateY(-2px);
	border-color: #e4c500;
	box-shadow: 0 9px 24px rgba(31,35,39,.10);
}

.page-content .embed-responsive,
.page-content .embed-responsive-16by9 {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	padding: 0;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #202328;
	border-radius: 3px;
}

.page-content .embed-responsive iframe,
.page-content iframe.embed-responsive-item,
.page-content .embed-responsive-item {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 0;
	border: 0;
}

.page-content .row:has(> .col-md-6 .video-block),
.page-content .row:has(> .col-md-4 .video-block) {
	margin-top: 16px;
	margin-bottom: 12px;
}

@media (max-width:767px) {
	.page-content .col-md-6,
  .page-content .col-md-4,
  .page-content .col-md-8 {
		width: 100%;
	}

	.page-content .video-block {
		margin-bottom: 16px;
		padding: 7px;
	}
}


/* NC9 editorial refresh: rich legacy page layout and consistent image presentation. */
.page-heading {
	max-width: none;
	margin: 0 0 24px !important;
	padding: 0 !important;
	border: 0 !important;
}

.page-heading .eyebrow {
	display: none !important;
}

.page-heading .page-cover {
	display: block !important;
}

.page-heading h1 {
	margin: 0;
	font-size: clamp(30px,3vw,42px);
	line-height: 1.14;
	letter-spacing: -.035em;
}

.page-content {
	max-width: none;
	width: 100%;
	font-size: 15px;
	line-height: 1.72;
	color: #30343a;
}

.page-content > p {
	max-width: 1100px;
}

.page-content > p:first-of-type {
	font-size: 16px;
	line-height: 1.75;
	color: #454b52;
}

.page-content h2 {
	margin: 42px 0 17px;
	padding: 0 0 10px;
	border-bottom: 1px solid #e9e6dc;
	font-size: clamp(22px,2.1vw,29px);
	line-height: 1.25;
}

.page-content h3 {
	margin: 32px 0 16px;
	font-size: clamp(19px,1.7vw,24px);
	line-height: 1.3;
}

.page-content h4 {
	margin: 25px 0 12px;
	font-size: 17px;
}

.page-content .row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0;
	margin: 20px -12px 26px;
}

.page-content .row > [class*="col-"] {
	float: none;
	min-width: 0;
	padding: 0 12px;
}

@media(min-width:768px) {
	.page-content .col-md-3 {
		width: 25%;
		flex: 0 0 25%;
	}

	.page-content .col-md-4 {
		width: 33.333333%;
		flex: 0 0 33.333333%;
	}

	.page-content .col-md-6 {
		width: 50%;
		flex: 0 0 50%;
	}

	.page-content .col-md-8 {
		width: 66.666667%;
		flex: 0 0 66.666667%;
	}

	.page-content .col-md-9 {
		width: 75%;
		flex: 0 0 75%;
	}

	.page-content .col-md-12 {
		width: 100%;
		flex: 0 0 100%;
	}
}

.page-content .exhib {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 190px;
	margin: 0 0 22px;
	padding: 14px;
	border: 1px solid #e9e6de;
	border-radius: 5px;
	background: linear-gradient(145deg,#faf9f5,#f0eee7);
	box-shadow: 0 5px 18px rgba(30,34,38,.055);
	overflow: hidden;
}

.page-content .exhib img {
	display: block;
	width: 100%;
	max-width: 100%;
	max-height: 300px;
	height: auto;
	object-fit: contain;
	border-radius: 2px;
	box-shadow: 0 7px 18px rgba(20,24,28,.10);
}

.page-content .exhib-text {
	height: 100%;
	min-height: 116px;
	display: flex;
	align-items: center;
	padding: 22px;
	border: 1px solid #e8e5dc;
	border-top: 3px solid #f2c900;
	border-radius: 4px;
	background: #faf9f5;
	color: #33383e;
	font-size: 14px;
	line-height: 1.55;
	font-weight: 650;
}
/* Legacy NC9 .block-view-1 callout: restrained white panel, matching the old site. */
.page-content .block-view-1 {
	display: block;
	width: 100%;
	margin: 18px 0 22px;
	padding: 15px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	color: inherit;
	box-shadow: none;
	font-size: 14px;
	line-height: 1.5;
}

.page-content .block-view-1 > :first-child {
	margin-top: 0;
}

.page-content .block-view-1 > :last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {
	.page-content .block-view-1 {
		margin: 14px 0 18px;
		padding: 12px;
	}
}

.page-content .video_youtube {
	margin: 0 0 22px;
	padding: 8px;
	border: 1px solid #e7e4dc;
	border-radius: 5px;
	background: #fff;
	box-shadow: 0 6px 20px rgba(30,34,38,.06);
}

.page-content .video_youtube .embed-responsive {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
	padding: 0;
	overflow: hidden;
	border-radius: 3px;
	background: #202328;
}

.page-content .video_youtube iframe, .page-content iframe.embed-responsive-item {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	border: 0;
}

.page-content .row:has(.video_youtube) {
	margin-top: 22px;
	margin-bottom: 22px;
}

.page-content ul {
	margin: 12px 0 22px;
}

.page-content li {
	margin: 0 0 8px;
}

.page-content blockquote {
	border-left: 4px solid #f2c900;
	background: #f7f6f1;
}

.page-content img {
	max-width: 100%;
	height: auto;
}
/* Service tiles: balanced, near-square cards and a consistent neutral image stage. */
.service-grid-dynamic {
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 18px;
}

.service-card-dynamic {
	min-height: 0;
	height: 100%;
	padding: 18px 18px 22px;
	display: flex;
	flex-direction: column;
}

.service-card-dynamic .service-art-photo {
	width: 100%;
	aspect-ratio: 1.18/1;
	height: auto;
	min-height: 0;
	margin: 10px 0 15px;
	padding: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #e9e6de;
	border-radius: 4px;
	background: linear-gradient(145deg,#faf9f5,#efeee8);
}

.service-card-dynamic .service-art-image {
	width: 100%;
	height: 100%;
	max-height: 220px;
	object-fit: contain;
	object-position: center;
	border-radius: 2px;
	mix-blend-mode: multiply;
}

.service-card-dynamic h3 {
	margin: 0 0 7px;
	font-size: 17px;
	line-height: 1.3;
}

.service-card-dynamic p {
	font-size: 12px;
	line-height: 1.55;
	margin: 0;
}

.service-card-dynamic .service-arrow {
	bottom: 16px;
	right: 16px;
}

@media(max-width:1000px) {
	.service-grid-dynamic {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}

	.page-content .col-md-4 {
		width: 50%;
		flex-basis: 50%;
	}
}

@media(max-width:767px) {
	.page-content .row {
		margin-left: -8px;
		margin-right: -8px;
	}

	.page-content .row > [class*="col-"] {
		width: 100%;
		flex: 0 0 100%;
		padding-left: 8px;
		padding-right: 8px;
	}

	.page-content .exhib {
		min-height: 150px;
	}

	.page-content .video_youtube {
		margin-bottom: 15px;
	}

	.service-grid-dynamic {
		grid-template-columns: repeat(2,minmax(0,1fr));
		gap: 12px;
	}

	.service-card-dynamic {
		padding: 13px 12px 20px;
	}

	.service-card-dynamic .service-art-photo {
		aspect-ratio: 1/1;
		padding: 8px;
	}

	.service-card-dynamic h3 {
		font-size: 15px;
	}
}

@media(max-width:430px) {
	.service-grid-dynamic {
		grid-template-columns: 1fr;
	}

	.service-card-dynamic .service-art-photo {
		aspect-ratio: 1.25/1;
	}
}

/* Clean presentation: remove decorative frames added to legacy media blocks. */
.page-content .exhib {
	display: block;
	min-height: 0;
	margin: 0 0 22px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.page-content .exhib img {
	display: inline-block;
	width: auto;
	max-width: 100%;
	max-height: 300px;
	height: auto;
	object-fit: contain;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.page-content .exhib-text {
	min-height: 0;
	padding: 14px 4px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #343940;
	font-weight: 600;
}

.page-content .video_youtube {
	margin: 0 0 22px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.page-content .video_youtube .embed-responsive {
	border-radius: 0;
}

.service-card-dynamic .service-art-photo {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.service-card-dynamic .service-art-image {
	border-radius: 0;
	mix-blend-mode: normal;
}

/* Compact full-width editorial content: remove narrow text measure and excess vertical gaps. */
.page-content,
.page-content > *,
.page-content p,
.page-content > p,
.page-content .exhib-text,
.page-content blockquote {
	max-width: none !important;
	width: auto;
}

.page-content {
	width: 100%;
	line-height: 1.6;
}

.page-content p {
	margin-top: 0;
	margin-bottom: 10px;
	line-height: 1.6;
}

.page-content > p:first-of-type {
	max-width: none !important;
}

.page-content h2 {
	margin: 24px 0 10px !important;
	padding-bottom: 6px;
}

.page-content h3 {
	margin: 20px 0 9px !important;
}

.page-content h4 {
	margin: 16px 0 8px !important;
}

.page-content .row {
	margin-top: 10px !important;
	margin-bottom: 14px !important;
}

.page-content .exhib {
	margin-bottom: 12px !important;
}

.page-content .exhib-text {
	padding: 8px 4px !important;
}

.page-content .block-view-1 {
	margin: 16px 0 18px !important;
	padding: 14px 18px !important;
}

.page-content .video_youtube {
	margin-bottom: 14px !important;
}

.page-content ul, .page-content ol {
	margin-top: 8px;
	margin-bottom: 14px;
}

.page-content li {
	margin-bottom: 5px;
}

.page-heading {
	margin-bottom: 16px !important;
}

/* Catalogs and brochures: restore the restrained legacy image frames. */
.page-content .exhib {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 0 !important;
	margin: 0 0 18px !important;
	padding: 5px !important;
	border: 1px solid #d8d8d8 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	overflow: hidden;
}

.page-content .exhib img {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	max-height: none !important;
	height: auto !important;
	margin: 0 auto !important;
	object-fit: contain !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.page-content .row > .col-md-4 {
	min-width: 0;
}

@media (min-width:768px) {
	.page-content .row > .col-md-4 {
		width: 33.333333% !important;
		flex: 0 0 33.333333% !important;
	}
}

@media (max-width:767px) {
	.page-content .row > .col-md-4 {
		width: 100% !important;
		flex: 0 0 100% !important;
	}

	.page-content .exhib {
		margin-bottom: 14px !important;
	}
}

/* Leaflets and other inner pages: restrained heading scale and stable table row colours. */
.page-heading h1 {
	font-size: 30px !important;
	line-height: 1.25 !important;
	letter-spacing: -.02em !important;
	font-weight: 800;
}

.page-content h2 {
	font-size: 30px !important;
	line-height: 1.3 !important;
	margin: 24px 0 12px !important;
	padding: 0 !important;
	border: 0 !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	background: none !important;
}

.page-content h2::before,
.page-content h2::after {
	display: none !important;
	content: none !important;
}

.page-content table tr:first-child:hover td,
.page-content table tr:first-child:hover th {
	background: #25292d !important;
	color: #fff !important;
}

.page-content table tr:nth-child(2):hover td,
.page-content table tr:nth-child(2):hover th {
	background: #f7f7f3 !important;
}

.page-content table tr:hover td,
.page-content table tr:hover th {
	transition: none !important;
}

@media (max-width:760px) {
	.page-heading h1,
    .page-content h2 {
		font-size: 25px !important;
	}
}


/* Catalogs and brochures: compact legacy-style details and rounded media frames. */
.page-heading h1 {
	font-size: 18px !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	margin: 0 0 10px !important;
}

.page-content h2 {
	font-size: 17px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
	margin: 20px 0 10px !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: none !important;
}

.page-content h2::before,
.page-content h2::after {
	content: none !important;
	display: none !important;
}

/* Classic thin frame around printed samples; no extra grey image stage. */
.page-content .exhib {
	border: 1px solid #d7d7d7 !important;
	border-radius: 8px !important;
	padding: 5px !important;
	background: #fff !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

.page-content .exhib img {
	border-radius: 4px !important;
	box-shadow: none !important;
}

/* Videos keep a visible frame, with softly rounded corners. */
.page-content .video_youtube {
	margin: 0 0 18px !important;
	padding: 6px !important;
	border: 1px solid #d7d7d7 !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

.page-content .video_youtube .embed-responsive {
	border-radius: 5px !important;
	overflow: hidden !important;
}

.page-content .video_youtube iframe,
.page-content iframe.embed-responsive-item {
	border-radius: 5px !important;
}

/* Restore the restrained old-site exhib-text treatment. */
.page-content .exhib-text {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 100px !important;
	height: 100% !important;
	padding: 14px 12px !important;
	border: 1px solid #d8d8d8 !important;
	border-top: 1px solid #d8d8d8 !important;
	border-radius: 6px !important;
	background: #fff !important;
	color: #333 !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	font-weight: 400 !important;
	text-align: center !important;
}

@media(max-width:760px) {
	.page-heading h1 {
		font-size: 17px !important;
	}

	.page-content h2 {
		font-size: 16px !important;
	}

	.page-content .exhib-text {
		min-height: 0 !important;
		padding: 12px 10px !important;
	}
}

/* Legacy NC9 .obertka wrapper: simple white panel with a fine rounded border. */
.page-content .obertka {
	display: block;
	width: 100%;
	margin: 0 0 20px;
	padding: 15px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	color: inherit;
	box-shadow: none;
}

.page-content .obertka > :first-child {
	margin-top: 0;
}

.page-content .obertka > :last-child {
	margin-bottom: 0;
}

.page-content .obertka ul {
	margin-top: 8px;
	margin-bottom: 8px;
}

@media (max-width: 767px) {
	.page-content .obertka {
		padding: 12px;
		margin-bottom: 15px;
	}
}

/* Final NC9 media and attention-callout refinement. */
.page-content .exhib {
	box-shadow: 0 3px 12px rgba(25, 32, 40, .09) !important;
}

.page-content .exhib img {
	box-shadow: 0 2px 8px rgba(25, 32, 40, .08) !important;
}

.page-content .video_youtube {
	box-shadow: 0 3px 12px rgba(25, 32, 40, .10) !important;
}

/* Attention callout inspired by the supplied NC9 reference. */
.page-content .block-view-1 {
	display: flex !important;
	align-items: center !important;
	gap: 22px !important;
	min-height: 104px;
	margin: 20px 0 24px !important;
	padding: 18px 26px !important;
	border: 1px solid #eeeeee !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 2px 12px rgba(25, 32, 40, .09) !important;
	color: #292d32 !important;
	font-size: 20px !important;
	line-height: 1.5 !important;
	font-style: italic !important;
	font-weight: 700 !important;
}

.page-content .block-view-1::before {
	content: "!";
	display: flex;
	flex: 0 0 84px;
	align-items: center;
	justify-content: center;
	color: #a00000;
	font-family: Arial, sans-serif;
	font-size: 76px;
	font-style: normal;
	font-weight: 800;
	line-height: 1;
}

.page-content .block-view-1 a {
	color: #a00000 !important;
	font-weight: 800 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.page-content .block-view-1 > :first-child {
	margin-top: 0 !important;
}

.page-content .block-view-1 > :last-child {
	margin-bottom: 0 !important;
}

@media (max-width: 767px) {
	.page-content .block-view-1 {
		gap: 10px !important;
		min-height: 0;
		padding: 14px 16px !important;
		border-radius: 13px !important;
		font-size: 15px !important;
	}

	.page-content .block-view-1::before {
		flex-basis: 34px;
		font-size: 48px;
	}
}

/* User-requested legacy card treatment for image and video blocks. */
.page-content .exhib,
.page-content .video_youtube {
	background: #fff !important;
	padding: 10px !important;
	margin-bottom: 30px !important;
	-webkit-transition: all 0.3s ease !important;
	-moz-transition: all 0.3s ease !important;
	-o-transition: all 0.3s ease !important;
	transition: all 0.3s ease !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	flex-wrap: nowrap !important;
	flex-direction: column !important;
	-webkit-box-shadow: 0px 0px 7px 1px rgba(11, 11, 11, 0.07) !important;
	-moz-box-shadow: 0px 0px 7px 1px rgba(11, 11, 11, 0.07) !important;
	box-shadow: 0px 0px 7px 1px rgba(11, 11, 11, 0.07) !important;
	border-radius: 15px !important;
	position: relative !important;
}

.page-content .exhib img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 8px !important;
}

.page-content .video_youtube .embed-responsive {
	width: 100%;
	border-radius: 8px !important;
}

/* Remove visible outlines from image and video cards; keep radius and subtle shadow. */
.page-content .exhib,
.page-content .video_youtube,
.page-content .exhib img,
.page-content .video_youtube .embed-responsive,
.page-content .video_youtube iframe {
	border: 0 !important;
	outline: 0 !important;
}

/* NC9 floating contact dock */
.nc9-contact-dock {
	position: fixed;
	right: 24px;
	bottom: 26px;
	z-index: 9000;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 9px;
	width: 246px;
}

.nc9-request-fab,.nc9-contact-link {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 66px;
	padding: 9px 13px;
	border: 1px solid rgba(255,255,255,.09);
	border-radius: 17px;
	background: linear-gradient(145deg,#303740 0%,#20252c 100%);
	color: #fff;
	text-decoration: none;
	text-align: left;
	box-shadow: 0 8px 24px rgba(20,25,32,.20),inset 0 1px 0 rgba(255,255,255,.06);
	cursor: pointer;
	overflow: hidden;
	transform: translateX(18px);
	opacity: 0;
	animation: nc9-dock-in .55s cubic-bezier(.2,.8,.2,1) forwards;
	transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;
}

.nc9-request-fab {
	min-height: 76px;
	background: linear-gradient(135deg,#ffdf45 0%,#f5c400 100%);
	border-color: rgba(255,255,255,.45);
	color: #20252c;
	box-shadow: 0 10px 28px rgba(190,150,0,.25),inset 0 1px 0 rgba(255,255,255,.7);
	animation-delay: .05s;
}

.nc9-contact-telegram {
	animation-delay: .13s;
}

.nc9-contact-max {
	animation-delay: .21s;
}

.nc9-contact-phone {
	animation-delay: .29s;
}

.nc9-contact-link:hover,.nc9-request-fab:hover {
	transform: translateX(-5px);
	box-shadow: 0 13px 30px rgba(20,25,32,.28);
	border-color: rgba(255,255,255,.24);
}

.nc9-request-fab:hover {
	box-shadow: 0 13px 30px rgba(190,150,0,.32);
}

.nc9-contact-link:focus-visible,.nc9-request-fab:focus-visible {
	outline: 3px solid #f5c900;
	outline-offset: 3px;
}

.nc9-dock-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 13px;
	background: rgba(255,255,255,.09);
	color: #fff;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.13);
}

.nc9-dock-icon svg {
	width: 23px;
	height: 23px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.nc9-request-fab .nc9-dock-icon {
	background: #20252c;
	color: #f8d02b;
}

.nc9-contact-telegram .nc9-dock-icon {
	background: linear-gradient(145deg,#32b6ed,#1689c4);
}

.nc9-contact-max .nc9-dock-icon {
	background: linear-gradient(145deg,#477df0,#2455c7);
}

.nc9-contact-phone .nc9-dock-icon {
	background: linear-gradient(145deg,#35b77a,#168653);
}

.nc9-dock-copy {
	display: flex;
	flex: 1;
	min-width: 0;
	flex-direction: column;
	gap: 3px;
}

.nc9-dock-copy strong {
	font-size: 14px;
	line-height: 1.15;
	font-weight: 800;
}

.nc9-dock-copy small {
	font-size: 11px;
	line-height: 1.2;
	color: #b9c1ca;
	font-weight: 500;
}

.nc9-request-fab .nc9-dock-copy small {
	color: #55502f;
}

.nc9-dock-arrow {
	font-size: 19px;
	line-height: 1;
	color: #aeb8c3;
	transition: transform .25s ease,color .25s ease;
}

.nc9-request-fab .nc9-dock-arrow {
	color: #34301e;
}

.nc9-contact-link:hover .nc9-dock-arrow,.nc9-request-fab:hover .nc9-dock-arrow {
	transform: translate(2px,-2px);
	color: #f5c900;
}

.nc9-request-fab:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg,transparent 20%,rgba(255,255,255,.35) 45%,transparent 68%);
	transform: translateX(-130%);
	animation: nc9-dock-shine 5s ease-in-out infinite 1.5s;
	pointer-events: none;
}

@keyframes nc9-dock-in {
	to {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes nc9-dock-shine {
	0%,65%,100% {
		transform: translateX(-130%);
	}

	82% {
		transform: translateX(130%);
	}
}

.nc9-request-overlay {
	position: fixed;
	inset: 0;
	z-index: 10000;
	background: rgba(18,23,30,.62);
	backdrop-filter: blur(5px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 22px;
	opacity: 0;
	visibility: hidden;
	transition: opacity .28s ease,visibility .28s ease;
}

.nc9-request-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

.nc9-request-dialog {
	position: relative;
	display: grid;
	grid-template-columns: minmax(260px,.82fr) minmax(380px,1fr);
	width: min(900px,100%);
	max-height: min(680px,calc(100vh - 44px));
	overflow: auto;
	background: #fff;
	border-radius: 22px;
	box-shadow: 0 24px 80px rgba(0,0,0,.28);
	transform: translateY(22px) scale(.98);
	transition: transform .32s cubic-bezier(.2,.8,.2,1);
}

.nc9-request-overlay.is-open .nc9-request-dialog {
	transform: translateY(0) scale(1);
}

.nc9-request-visual {
	min-height: 480px;
	position: relative;
	overflow: hidden;
	background: #f3f1eb;
}

.nc9-request-visual:after {
	content: "";
	position: absolute;
	inset: 0;
	border-right: 5px solid #f5c900;
	border-radius: 0 48% 48% 0 / 0 50% 50% 0;
	pointer-events: none;
}

.nc9-request-visual img {
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	object-fit: cover;
	object-position: center;
}

.nc9-request-content {
	padding: 48px 46px 38px;
	align-self: center;
}

.nc9-request-close {
	position: absolute;
	right: 17px;
	top: 14px;
	z-index: 2;
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 50%;
	background: #f3f4f5;
	color: #343a40;
	font-size: 25px;
	line-height: 1;
	cursor: pointer;
	transition: background .2s,transform .2s;
}

.nc9-request-close:hover {
	background: #ffe36a;
	transform: rotate(90deg);
}

.nc9-request-kicker {
	display: inline-block;
	color: #a57f00;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.nc9-request-title {
	font-size: 30px;
	line-height: 1.15;
	font-weight: 800;
	color: #20252c;
	margin: 0 0 12px;
}

.nc9-request-title:after {
	content: "";
	display: block;
	width: 72px;
	height: 4px;
	border-radius: 4px;
	background: #f5c900;
	margin-top: 15px;
}

.nc9-request-lead {
	font-size: 15px;
	line-height: 1.55;
	color: #626a73;
	margin: 0 0 24px;
}

.nc9-request-field {
	display: block;
	margin: 0 0 14px;
}

.nc9-request-field span {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: #59616b;
	margin: 0 0 7px 2px;
}

.nc9-request-field input {
	display: block;
	width: 100%;
	height: 52px;
	padding: 0 16px;
	border: 1px solid #dfe2e6;
	border-radius: 11px;
	background: #fbfcfd;
	color: #20252c;
	font: inherit;
	font-size: 15px;
	outline: none;
	transition: border-color .2s,box-shadow .2s,background .2s;
}

.nc9-request-field input:focus {
	border-color: #e3b900;
	background: #fff;
	box-shadow: 0 0 0 4px rgba(245,201,0,.16);
}

.nc9-request-submit {
	width: 100%;
	min-height: 54px;
	border: 0;
	border-radius: 12px;
	background: #f5c900;
	color: #20252c;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
	margin-top: 6px;
	box-shadow: 0 7px 18px rgba(205,164,0,.2);
	transition: transform .2s,background .2s,box-shadow .2s;
}

.nc9-request-submit:hover {
	background: #ffda27;
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(205,164,0,.27);
}

.nc9-request-submit:disabled {
	opacity: .65;
	cursor: wait;
	transform: none;
}

.nc9-request-note {
	display: flex;
	gap: 8px;
	align-items: center;
	color: #8a9199;
	font-size: 11px;
	line-height: 1.4;
	margin: 16px 0 0;
}

.nc9-request-note:before {
	content: "✓";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #edf7ef;
	color: #238044;
	font-weight: 800;
}

.nc9-request-status {
	min-height: 20px;
	margin: 12px 0 0;
	font-size: 13px;
	line-height: 1.4;
	color: #a52a2a;
}

.nc9-request-status.is-success {
	color: #168044;
}

.nc9-request-honeypot {
	position: absolute!important;
	left: -10000px!important;
	width: 1px!important;
	height: 1px!important;
	overflow: hidden!important;
}

body.nc9-request-open {
	overflow: hidden;
}

@media(max-width:700px) {
	.nc9-contact-dock {
		right: 12px;
		bottom: 14px;
		width: 218px;
		gap: 7px;
	}

	.nc9-request-fab,.nc9-contact-link {
		min-height: 58px;
		padding: 7px 10px;
		border-radius: 14px;
	}

	.nc9-request-fab {
		min-height: 64px;
	}

	.nc9-dock-icon {
		flex-basis: 40px;
		width: 40px;
		height: 40px;
		border-radius: 11px;
	}

	.nc9-dock-copy strong {
		font-size: 13px;
	}

	.nc9-dock-copy small {
		font-size: 10px;
	}

	.nc9-request-dialog {
		display: block;
		width: min(460px,100%);
		max-height: calc(100vh - 28px);
		border-radius: 18px;
	}

	.nc9-request-visual {
		height: 150px;
		min-height: 0;
	}

	.nc9-request-visual img {
		object-position: center 43%;
	}

	.nc9-request-visual:after {
		border-right: 0;
		border-bottom: 4px solid #f5c900;
		border-radius: 0;
	}

	.nc9-request-content {
		padding: 25px 23px 24px;
	}

	.nc9-request-title {
		font-size: 24px;
	}

	.nc9-request-lead {
		font-size: 14px;
		margin-bottom: 17px;
	}

	.nc9-request-close {
		right: 10px;
		top: 10px;
		background: rgba(255,255,255,.92);
	}
}

@media(prefers-reduced-motion:reduce) {
	.nc9-contact-dock>* {
		animation: none;
		opacity: 1;
		transform: none;
	}

	.nc9-request-fab:after {
		animation: none;
	}

	.nc9-contact-link,.nc9-request-fab,.nc9-request-overlay,.nc9-request-dialog {
		transition: none;
	}
}


/* Mobile contact dock: icon-only compact controls */
@media(max-width:700px) {
	.nc9-contact-dock {
		width: auto;
		right: 12px;
		bottom: 14px;
		gap: 8px;
		align-items: center;
	}

	.nc9-request-fab,.nc9-contact-link {
		width: 52px;
		min-width: 52px;
		height: 52px;
		min-height: 52px;
		padding: 0;
		justify-content: center;
		gap: 0;
		border-radius: 16px;
		transform: translateY(12px);
	}

	.nc9-request-fab {
		width: 58px;
		min-width: 58px;
		height: 58px;
		min-height: 58px;
		border-radius: 18px;
	}

	.nc9-dock-copy,.nc9-dock-arrow {
		display: none!important;
	}

	.nc9-dock-icon {
		width: 34px;
		height: 34px;
		flex: 0 0 34px;
		border-radius: 11px;
	}

	.nc9-request-fab .nc9-dock-icon {
		width: 39px;
		height: 39px;
		flex-basis: 39px;
		border-radius: 12px;
	}

	.nc9-dock-icon svg {
		width: 21px;
		height: 21px;
	}

	.nc9-contact-link:hover,.nc9-request-fab:hover {
		transform: translateY(-3px);
	}
}


/* Услуги на главной: квадратные изображения без обрезки и декоративных полей */
.service-card-dynamic .service-art-photo {
	width: 100%;
	height: auto !important;
	aspect-ratio: 1 / 1;
	margin: 12px 0 17px;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0;
	overflow: hidden;
}

.service-card-dynamic .service-art-image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: contain !important;
	object-position: center;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	transform: none !important;
	filter: none !important;
}

.service-card-dynamic:hover .service-art-image {
	transform: none !important;
	filter: none !important;
}

@media(max-width:1000px) {
	.service-card-dynamic .service-art-photo {
		height: auto !important;
		aspect-ratio: 1 / 1;
	}
}

@media(max-width:760px) {
	.service-card-dynamic .service-art-photo {
		height: auto !important;
		aspect-ratio: 1 / 1;
		margin: 9px 0 12px;
	}
}


/* NC9: новый дизайн карточек подразделов внутренних страниц + Exo 2 */
:root {
	--nc9-font: 'Exo 2', Arial, sans-serif;
}

html, body, button, input, select, textarea {
	font-family: var(--nc9-font) !important;
}

body, body *:not(i):not(svg):not(path) {
	font-family: var(--nc9-font);
}

.child-pages {
	margin: 4px 0 42px !important;
	padding: 8px 0 28px !important;
	border: 0 !important;
}

.child-pages h2 {
	margin: 0 0 22px !important;
	color: #24282d !important;
	font-family: var(--nc9-font) !important;
	font-size: 25px !important;
	font-weight: 700 !important;
	letter-spacing: -.025em;
}

.child-pages .page-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 22px !important;
	align-items: stretch;
}

.child-pages .page-card {
	position: relative;
	display: flex !important;
	flex-direction: column !important;
	min-width: 0;
	min-height: 0 !important;
	padding: 12px !important;
	overflow: hidden;
	border: 1px solid #e7e9ec !important;
	border-radius: 14px !important;
	background: #fff !important;
	color: #252a30 !important;
	box-shadow: 0 5px 18px rgba(27, 35, 43, .045) !important;
	text-decoration: none !important;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.child-pages .page-card:hover {
	transform: translateY(-4px);
	border-color: #e4c21a !important;
	box-shadow: 0 13px 28px rgba(27, 35, 43, .10) !important;
}

.child-pages .page-card-media {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 9px;
	background: #f7f8f9 !important;
}

.child-pages .page-card-cover {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	padding: 13px;
	object-fit: contain !important;
	object-position: center;
	background: transparent !important;
	transition: transform .28s ease;
}

.child-pages .page-card:hover .page-card-cover {
	transform: scale(1.035);
}

.child-pages .page-card-placeholder {
	display: grid !important;
	width: 100%;
	height: 100%;
	place-items: center;
	background: #f7f8f9 !important;
	color: #252a30;
}

.child-pages .page-card-placeholder span {
	display: grid;
	width: 58px;
	height: 48px;
	place-items: center;
	border-radius: 9px;
	background: #f4ca16 !important;
	color: #252a30;
	font-size: 20px;
	font-weight: 800;
}

.child-pages .page-card-title {
	display: block;
	min-height: 58px;
	padding: 17px 34px 4px 5px !important;
	color: #252a30 !important;
	font-family: var(--nc9-font) !important;
	font-size: 17px !important;
	font-weight: 650 !important;
	line-height: 1.38 !important;
}

.child-pages .page-card-arrow {
	right: 17px !important;
	bottom: 18px !important;
	color: #bd9b00 !important;
	font-size: 21px !important;
	transition: transform .2s ease;
}

.child-pages .page-card:hover .page-card-arrow {
	transform: translate(3px, -3px);
}

@media (max-width: 1050px) {
	.child-pages .page-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 18px !important;
	}
}

@media (max-width: 600px) {
	.child-pages {
		margin-bottom: 30px !important;
	}

	.child-pages h2 {
		font-size: 22px !important;
		margin-bottom: 16px !important;
	}

	.child-pages .page-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 11px !important;
	}

	.child-pages .page-card {
		padding: 8px !important;
		border-radius: 11px !important;
	}

	.child-pages .page-card-media {
		border-radius: 7px;
	}

	.child-pages .page-card-cover {
		padding: 7px;
	}

	.child-pages .page-card-title {
		min-height: 52px;
		padding: 11px 23px 2px 3px !important;
		font-size: 13px !important;
	}

	.child-pages .page-card-arrow {
		right: 10px !important;
		bottom: 12px !important;
		font-size: 17px !important;
	}
}


/* NC9: размер и число карточек подстраниц задаются в редакторе страницы */
.child-pages .page-grid {
	grid-template-columns: repeat(var(--child-columns, 3), minmax(0, 1fr)) !important;
	gap: 13px !important;
}

.child-pages .page-card {
	padding: 0 0 10px !important;
	border-radius: 9px !important;
}

.child-pages .page-card-media {
	height: auto !important;
	aspect-ratio: 1 / 1;
	background: #fff !important;
}

.child-pages .page-card-cover {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	padding: 5px !important;
}

.child-pages .page-card-title {
	min-height: 34px !important;
	padding: 9px 27px 0 10px !important;
	font-size: 12px !important;
	line-height: 1.3 !important;
}

.child-pages .page-card-arrow {
	right: 9px !important;
	bottom: 10px !important;
	font-size: 14px !important;
}

@media (max-width: 760px) {
	.child-pages .page-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}
}


/* NC9: более свободная сетка подстраниц и центрированные подписи */
.child-pages .page-grid {
	column-gap: 28px !important;
	row-gap: 30px !important;
}

.child-pages .page-card {
	padding: 0 0 12px !important;
}

.child-pages .page-card-media {
	width: 100%;
	aspect-ratio: 1 / 1;
}

.child-pages .page-card-title {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 54px !important;
	padding: 10px 14px !important;
	text-align: center !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
}

.child-pages .page-card-arrow {
	right: 10px !important;
	bottom: 10px !important;
	font-size: 13px !important;
}

@media (max-width: 1050px) {
	.child-pages .page-grid {
		column-gap: 22px !important;
		row-gap: 24px !important;
	}
}

@media (max-width: 760px) {
	.child-pages .page-grid {
		column-gap: 14px !important;
		row-gap: 18px !important;
	}

	.child-pages .page-card-title {
		min-height: 48px !important;
		font-size: 12px !important;
	}
}


/* Финальная настройка подстраниц: без стрелки, заголовки по центру,
   H1 страницы — 25px */
.service-card-dynamic .service-card-arrow,
.service-card-dynamic .service-art-arrow,
.service-card-dynamic .service-arrow,
.service-card-dynamic .service-card-link::after,
.service-card-dynamic a::after {
	display: none !important;
	content: none !important;
}

.service-card-dynamic .service-card-title,
.service-card-dynamic .service-title,
.service-card-dynamic h3 {
	text-align: center !important;
}

h1,
.page-title,
.content-title {
	font-size: 25px !important;
	line-height: 1.25 !important;
}


/* Шапка: адрес-ссылка слева, контакты выровнены вправо */
.nc9-header-address {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	font-size: 13px;
	line-height: 1.65;
}

.nc9-header-address-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.nc9-header-address-link:hover .nc9-header-address-text {
	color: #8b7200;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.nc9-header-address-text {
	color: #42474d;
	font-size: 13px;
	font-weight: 600;
	transition: color .2s;
}

.nc9-header-contacts {
	align-items: flex-end;
	text-align: right;
}

.nc9-header-email {
	font-size: 16px;
	line-height: 1.35;
	font-weight: 800;
}

.nc9-header-hours {
	display: block;
	margin-top: 0;
	font-size: 11px;
	line-height: 1.45;
}

@media(max-width:1100px) {
	.nc9-header-address {
		font-size: 12px;
	}

	.nc9-header-address-text {
		font-size: 12px;
	}
}

@media(max-width:760px) {
	.nc9-header-address {
		grid-column: 1/-1;
		grid-row: 3;
		margin: 0;
		padding: 10px 0 0;
		border: 0;
		border-top: 1px solid #eeeeea;
		font-size: 12px;
	}

	.nc9-header-address-text {
		font-size: 12px;
	}

	.nc9-header-contacts {
		grid-column: 1/-1;
		grid-row: 4;
		align-items: flex-start;
		text-align: left;
		padding: 10px 0 0;
		border: 0;
		border-top: 1px solid #eeeeea;
		gap: 4px;
	}

	.nc9-header-email {
		font-size: 15px;
	}

	.nc9-header-hours {
		font-size: 10px;
	}
}


/* Карточки подразделов: квадратная форма и более крупные подписи */
.child-pages .page-grid {
	align-items: stretch;
}

.child-pages .page-card {
	width: 100%;
	aspect-ratio: 1 / 1;
	min-height: 0 !important;
	height: auto;
	display: flex !important;
	flex-direction: column !important;
	padding: 0 !important;
	overflow: hidden;
}

.child-pages .page-card-media {
	flex: 1 1 auto;
	width: 100% !important;
	height: auto !important;
	min-height: 0;
	aspect-ratio: auto !important;
	border-radius: 0 !important;
	background: #fff !important;
}

.child-pages .page-card-cover {
	width: 100% !important;
	height: 100% !important;
	padding: 12px !important;
	object-fit: contain !important;
	object-position: center;
}

.child-pages .page-card-title {
	display: flex !important;
	flex: 0 0 82px;
	align-items: center !important;
	justify-content: center !important;
	min-height: 82px !important;
	padding: 10px 16px !important;
	text-align: center !important;
	font-size: 18px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
}

.child-pages .page-card-arrow {
	display: none !important;
}

@media (max-width: 760px) {
	.child-pages .page-card-title {
		flex-basis: 68px;
		min-height: 68px !important;
		padding: 8px 10px !important;
		font-size: 15px !important;
	}

	.child-pages .page-card-cover {
		padding: 8px !important;
	}
}

/* Страница «Визитки»: кадрируем белые поля, встроенные в сам файл cover_6.jpg */
.page-cover-frame-vizitki {
	display: block;
	width: 100%;
	height: 430px;
	margin: 18px 0 0;
	overflow: hidden;
	background: #fff;
	border: 0;
	border-radius: 0;
}

.page-cover-frame-vizitki > .page-cover {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	object-fit: cover !important;
	object-position: center 52%;
	transform: scale(1.42);
	transform-origin: center center;
}

@media(max-width:760px) {
	.page-cover-frame-vizitki {
		height: 260px;
	}

	.page-cover-frame-vizitki > .page-cover {
		transform: scale(1.28);
	}
}


/* NC9 media fix: keep page covers visible and make legacy video embeds responsive. */
.page-heading .page-cover {
	display: block !important;
	visibility: visible !important;
}

.page-cover-frame {
	display: block;
	width: 100%;
}

.page-cover-frame-vizitki {
	height: 430px;
}

.page-cover-frame-vizitki > .page-cover {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	display: block !important;
	object-fit: cover !important;
	object-position: center 52%;
	transform: scale(1.42);
	transform-origin: center center;
}

.page-content video {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	background: #202328;
}

.page-content .video_youtube,
.page-content .video-block {
	display: block !important;
	width: 100%;
	max-width: 100%;
}

.page-content .video_youtube .embed-responsive,
.page-content .video-block .embed-responsive,
.page-content .embed-responsive-16by9 {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: #202328;
}

.page-content .video_youtube iframe,
.page-content .video-block iframe,
.page-content iframe.embed-responsive-item {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	border: 0 !important;
}

@media (max-width:760px) {
	.page-cover-frame-vizitki {
		height: 260px;
	}

	.page-cover-frame-vizitki > .page-cover {
		transform: scale(1.28);
	}
}


/* NC9 correction: no page cover; card images fill the full card width. */
.page-heading .page-cover-frame,
.page-heading .page-cover {
	display: none !important;
}

.child-pages .page-card-media {
	display: block !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	height: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
	border-radius: 8px 8px 0 0 !important;
	background: #f2f2f0 !important;
}

.child-pages .page-card-cover {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
}

/* NC9 mobile header — compact single-row layout (final override) */
@media (max-width: 760px) {
	.nc9-site-header {
		position: relative;
	}

	.nc9-header-main {
		width: calc(100% - 32px);
		min-height: 0;
		display: grid;
		grid-template-columns: 96px minmax(0, 1fr) 42px;
		grid-template-rows: 58px;
		align-items: center;
		gap: 0 12px;
		padding: 8px 0;
	}

	.nc9-header-logo {
		grid-column: 1;
		grid-row: 1;
		width: 96px;
		min-width: 0;
		align-self: center;
	}

	.nc9-original-logo {
		display: block;
		width: 96px;
		height: auto;
		max-height: 56px;
		object-fit: contain;
		object-position: left center;
	}

	.nc9-header-identity,
    .nc9-header-address,
    .nc9-header-email,
    .nc9-header-hours {
		display: none !important;
	}

	.nc9-header-contacts {
		grid-column: 2;
		grid-row: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
	}

	.nc9-header-phone {
		display: block;
		max-width: 100%;
		white-space: nowrap;
		font-size: clamp(13px, 3.8vw, 16px);
		line-height: 1.2;
		letter-spacing: -.045em;
	}

	.nc9-site-header .mobile-menu-toggle {
		grid-column: 3;
		grid-row: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		justify-self: end;
		width: 42px;
		height: 42px;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 8px;
		background: transparent;
	}

	.mobile-menu-toggle-text {
		display: none !important;
	}

	.mobile-menu-icon {
		display: flex;
		width: 22px;
		gap: 5px;
	}

	.mobile-menu-icon i {
		display: block;
		width: 22px;
		height: 2px;
	}

	.nc9-navigation-wrap {
		position: relative;
		top: auto;
		border-top: 1px solid #eeeeea;
		box-shadow: none;
	}

	.nc9-navigation-inner {
		width: calc(100% - 32px);
		min-height: 0;
		display: block;
	}

	.nc9-site-header .main-nav {
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 6px 0 10px;
	}

	.nc9-site-header .main-nav.is-open {
		display: flex;
	}

	.nc9-site-header .main-nav a {
		display: block;
		padding: 11px 2px;
		font-size: 14px;
		border-bottom: 1px solid #f0f0ed;
	}
}

@media (max-width: 380px) {
	.nc9-header-main {
		grid-template-columns: 82px minmax(0, 1fr) 40px;
		gap: 0 8px;
	}

	.nc9-header-logo, .nc9-original-logo {
		width: 82px;
	}

	.nc9-header-phone {
		font-size: 13px;
	}

	.nc9-site-header .mobile-menu-toggle {
		width: 40px;
		height: 40px;
	}
}


/* NC9 mobile header: phone emphasis and tagline beneath it */
@media (max-width: 760px) {
	.nc9-header-contacts {
		flex-direction: column;
		align-items: flex-end;
		justify-content: center;
		gap: 3px;
		padding-right: 5px;
	}

	.nc9-header-phone {
		align-self: flex-end;
		position: relative;
		top: -3px;
		left: 5px;
		font-weight: 800;
	}

	.nc9-mobile-tagline {
		display: block;
		width: 100%;
		color: #62656b;
		font-size: 10px;
		font-weight: 600;
		line-height: 1.2;
		text-align: right;
		white-space: normal;
	}
}

@media (min-width: 761px) {
	.nc9-mobile-tagline {
		display: none !important;
	}
}

@media (max-width: 380px) {
	.nc9-header-contacts {
		padding-right: 2px;
	}

	.nc9-mobile-tagline {
		font-size: 9px;
	}
}


/* NC9 navigation typography and restored mobile sticky header */
@media (min-width: 761px) {
	.nc9-site-header .main-nav a {
		font-size: 15px !important;
		font-weight: 650 !important;
		padding: 15px 12px !important;
	}

	.nc9-site-header .main-nav {
		gap: 8px !important;
	}
}

@media (max-width: 760px) {
	.nc9-site-header {
		position: -webkit-sticky !important;
		position: sticky !important;
		top: 0 !important;
		z-index: 5000 !important;
		background: #fff !important;
		box-shadow: 0 3px 12px rgba(20,24,30,.09) !important;
	}

	.nc9-header-main {
		position: relative !important;
	}

	.nc9-navigation-wrap {
		position: relative !important;
		top: auto !important;
		z-index: 1 !important;
	}
}


/* Mobile menu is part of the sticky header so the expanded panel stays attached while scrolling. */
@media (max-width: 760px) {
	.nc9-site-header {
		position: -webkit-sticky !important;
		position: sticky !important;
		top: 0 !important;
		z-index: 5000 !important;
		background: #fff !important;
		overflow: visible !important;
		box-shadow: 0 3px 12px rgba(20,24,30,.09) !important;
	}

	.nc9-navigation-wrap {
		position: relative !important;
		top: auto !important;
		z-index: auto !important;
		background: #fff !important;
		border-top: 1px solid #eeeeea;
		box-shadow: none !important;
	}

	.nc9-site-header .main-nav.is-open {
		display: flex !important;
	}
}


/* NC9 mobile typography refinement: smaller type, lighter weights, tighter rhythm */
@media (max-width: 760px) {
	.page-content {
		font-size: 13px !important;
		line-height: 1.38 !important;
		font-weight: 400 !important;
	}

	.page-content p,
    .page-content li,
    .page-content td,
    .page-content th,
    .page-content span,
    .page-content div {
		font-size: inherit;
		line-height: 1.38;
		font-weight: 400;
	}

	.page-content p {
		margin-top: 0.55em;
		margin-bottom: 0.65em;
	}

	.page-content ul,
    .page-content ol {
		padding-left: 20px;
		margin-top: 6px;
		margin-bottom: 9px;
	}

	.page-heading h1 {
		font-size: 27px !important;
		line-height: 1.16 !important;
		font-weight: 600 !important;
	}

	.page-content h2,
    .child-pages h2 {
		font-size: 19px !important;
		line-height: 1.2 !important;
		font-weight: 600 !important;
		margin-top: 18px !important;
		margin-bottom: 10px !important;
	}

	.page-content h3 {
		font-size: 16px !important;
		line-height: 1.22 !important;
		font-weight: 600 !important;
		margin-top: 14px !important;
		margin-bottom: 7px !important;
	}

	.page-content h4 {
		font-size: 14px !important;
		line-height: 1.22 !important;
		font-weight: 600 !important;
	}

	.child-pages .page-card-title {
		font-size: 12px !important;
		line-height: 1.22 !important;
		font-weight: 500 !important;
		letter-spacing: 0 !important;
		padding-top: 7px !important;
		min-height: 0 !important;
	}

	.child-pages .page-card-title strong,
    .child-pages .page-card-title b {
		font-weight: 500 !important;
	}

	.page-content strong,
    .page-content b {
		font-weight: 500 !important;
	}

	.page-content .block-view-1 {
		line-height: 1.35 !important;
	}
}

@media (max-width: 380px) {
	.page-content {
		font-size: 12px !important;
		line-height: 1.34 !important;
	}

	.child-pages .page-card-title {
		font-size: 11px !important;
		line-height: 1.2 !important;
	}

	.page-content h2, .child-pages h2 {
		font-size: 18px !important;
	}
}

/* NC9 homepage hero refinement: applied on the supplied latest archive */
.hero-intro {
	grid-template-columns: minmax(0,1fr) minmax(0,.95fr);
	gap: clamp(28px,3.2vw,54px);
	min-height: 0;
	padding-top: clamp(54px,5.5vw,82px);
	padding-bottom: clamp(54px,5.5vw,82px);
}

.hero-copy {
	max-width: 680px;
}

.hero-copy h1 {
	font-size: clamp(54px,5.7vw,86px);
	font-weight: 300;
	line-height: 1.04;
	letter-spacing: -.055em;
	margin-bottom: 27px;
}

.hero-copy h1 span {
	white-space: normal;
}

.hero-copy h1 span:after {
	height: 12px;
	bottom: 8px;
	opacity: .88;
}

.hero-lead {
	max-width: 620px;
	font-size: clamp(15px,1.15vw,18px);
	line-height: 1.72;
}

.hero-actions {
	margin-top: 30px;
}

.hero-request-button {
	min-height: 58px;
	min-width: 320px;
	padding: 15px 24px;
	border: 0;
	border-radius: 7px;
	font-size: 15px;
	font-weight: 750;
	gap: 16px;
	cursor: pointer;
	box-shadow: none;
}

.hero-request-button .hero-request-icon {
	font-size: 21px;
	line-height: 1;
}

.hero-request-button:hover {
	background: #ffda25;
	transform: translateY(-2px);
}

.hero-proof {
	margin-top: 27px;
	font-size: 12px;
}

.hero-slider-art {
	position: relative;
	display: block;
	min-height: 0;
	height: auto;
	aspect-ratio: 1.74/1;
	border-radius: 12px;
	background: #f3f2ee;
	overflow: hidden;
	isolation: isolate;
	box-shadow: none;
}

.hero-slider-art:before,.hero-slider-art:after {
	display: none;
}

.hero-slider-art .nc9-slider {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	aspect-ratio: auto!important;
	border-radius: 12px;
	box-shadow: none;
	background: #f3f2ee;
}

.hero-slider-art .nc9-slider-track,.hero-slider-art .nc9-slide {
	height: 100%;
}

.hero-slider-art .nc9-slide img {
	object-fit: cover;
	object-position: center center;
}

.hero-slider-art .nc9-slide-copy {
	display: none;
}

.hero-slider-art .nc9-slider-prev,.hero-slider-art .nc9-slider-next {
	width: 46px;
	height: 46px;
	background: rgba(255,255,255,.92);
	color: #20242a;
	font-size: 30px;
	box-shadow: 0 5px 16px rgba(0,0,0,.12);
}

.hero-slider-art .nc9-slider-prev {
	left: 18px;
}

.hero-slider-art .nc9-slider-next {
	right: 18px;
}

.hero-slider-art .nc9-slider-dots {
	left: 0;
	right: 0;
	bottom: 16px;
	justify-content: center;
	gap: 9px;
}

.hero-slider-art .nc9-slider-dots button {
	width: 10px;
	height: 10px;
	background: #20242a30;
}

.hero-slider-art .nc9-slider-dots button.is-active {
	width: 10px;
	background: var(--accent);
	border-radius: 50%;
}

@media(max-width:1000px) {
	.hero-copy h1 {
		font-size: clamp(48px,5.8vw,66px);
	}

	.hero-slider-art {
		aspect-ratio: 1.55/1;
	}
}

@media(max-width:760px) {
	.hero-intro {
		grid-template-columns: 1fr;
		padding-top: 40px;
		padding-bottom: 34px;
		gap: 26px;
	}

	.hero-copy h1 {
		font-size: clamp(43px,9.4vw,64px);
		line-height: 1.04;
		margin-bottom: 20px;
	}

	.hero-copy h1 span:after {
		height: 8px;
		bottom: 6px;
	}

	.hero-lead {
		font-size: 14px;
		line-height: 1.65;
	}

	.hero-request-button {
		width: 100%;
		min-width: 0;
		min-height: 54px;
		font-size: 14px;
	}

	.hero-proof {
		font-size: 11px;
		margin-top: 20px;
	}

	.hero-slider-art {
		aspect-ratio: 1.35/1;
		border-radius: 10px;
	}

	.hero-slider-art .nc9-slider {
		border-radius: 10px;
	}

	.hero-slider-art .nc9-slider-prev,.hero-slider-art .nc9-slider-next {
		width: 34px;
		height: 34px;
		font-size: 23px;
	}

	.hero-slider-art .nc9-slider-prev {
		left: 9px;
	}

	.hero-slider-art .nc9-slider-next {
		right: 9px;
	}

	.hero-slider-art .nc9-slider-dots {
		bottom: 10px;
	}
}

@media(max-width:430px) {
	.hero-copy h1 {
		font-size: clamp(40px,10vw,52px);
	}

	.hero-slider-art {
		aspect-ratio: 1.2/1;
	}
}


/* NC9 HERO HEADING SIZE FIX — cache-safe override */
@media (min-width: 761px) {
	.home-page .hero-intro .hero-copy > h1 {
		font-size: clamp(58px, 4.6vw, 74px) !important;
		font-weight: 300 !important;
		line-height: 1.04 !important;
		letter-spacing: -.055em !important;
		margin-bottom: 27px !important;
	}
}

@media (max-width: 760px) {
	.home-page .hero-intro .hero-copy > h1 {
		font-size: clamp(42px, 9vw, 56px) !important;
		font-weight: 300 !important;
		line-height: 1.05 !important;
		letter-spacing: -.05em !important;
	}
}


/* NC9 homepage service cards: remove eyebrow label and excess top spacing */
.service-grid-dynamic .service-card-dynamic {
	justify-content: flex-start !important;
	gap: 0 !important;
}

.service-grid-dynamic .service-card-dynamic .service-art-photo {
	margin-top: 0 !important;
}
/* NC9 front updates — lighter section typography and the project CTA. */
.section-heading h2,
.process-intro h2,
.why-heading h2,
.contact-cta h2,
.process-step h3,
.why-grid h3,
.service-card h3,
.service-card-dynamic h3 {
    font-weight: 500 !important;
}

                 

/* NC9: yellow rounded-square back-to-top button */
.nc9-scroll-top {
    position: fixed;
    left: 24px;
    bottom: 26px;
    z-index: 8999;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 13px;
    background: #f5c900;
    color: #20252c;
    box-shadow: 0 7px 22px rgba(145,112,0,.22), inset 0 1px 0 rgba(255,255,255,.42);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity .2s ease, visibility .2s ease, transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.nc9-scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.nc9-scroll-top:hover {
    background: #e5b900;
    box-shadow: 0 10px 26px rgba(145,112,0,.3);
    transform: translateY(-3px);
}

.nc9-scroll-top:focus-visible {
    outline: 3px solid rgba(245,201,0,.42);
    outline-offset: 3px;
}

.nc9-scroll-top svg {
    display: block;
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* NC9: cookie consent notice */
.nc9-cookie-consent {
    position: fixed;
    left: 90px;
    right: 288px;
    bottom: 22px;
    z-index: 9001;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    max-width: 760px;
    padding: 15px 17px;
    border: 1px solid #e5eaf1;
    border-radius: 13px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 12px 34px rgba(20,35,55,.18);
    color: #263449;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}

.nc9-cookie-consent.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.nc9-cookie-copy {
    min-width: 0;
    font-size: 12px;
    line-height: 1.5;
}

.nc9-cookie-copy strong {
    display: block;
    margin-bottom: 3px;
    color: #202b3b;
    font-size: 13px;
}

.nc9-cookie-accept {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 9px 18px;
    border: 1px solid #e2b700;
    border-radius: 8px;
    background: #f5c900;
    color: #20252c;
    font: 700 12px/1.2 'Exo 2', Arial, sans-serif;
    cursor: pointer;
    box-shadow: 0 3px 10px rgba(190,150,0,.16);
    transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
}

.nc9-cookie-accept:hover {
    background: #e8bd00;
    box-shadow: 0 5px 14px rgba(190,150,0,.22);
    transform: translateY(-1px);
}

.nc9-cookie-accept:focus-visible {
    outline: 3px solid rgba(67,114,183,.32);
    outline-offset: 2px;
}

@media (max-width: 900px) {
    .nc9-cookie-consent {
        left: 12px;
        right: 78px;
        bottom: 14px;
        max-width: none;
        padding: 12px;
        gap: 10px;
    }
    .nc9-cookie-copy { font-size: 11px; }
    .nc9-cookie-copy strong { font-size: 12px; }
    .nc9-cookie-accept { min-height: 35px; padding: 8px 13px; }
    .nc9-scroll-top { left: 12px; bottom: 14px; width: 44px; height: 44px; border-radius: 11px; }
    .nc9-scroll-top svg { width: 19px; height: 19px; }
}

@media (max-width: 520px) {
    .nc9-cookie-consent {
        align-items: stretch;
        flex-direction: column;
        gap: 9px;
        right: 76px;
        padding: 11px;
        border-radius: 11px;
    }
    .nc9-cookie-accept { align-self: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
    .nc9-scroll-top, .nc9-cookie-consent, .nc9-cookie-accept { transition: none; }
}
