[data-page-type="thing/index"] {
	a {
		color: inherit;
		text-decoration: none;
	}

	button {
		font: inherit;
		cursor: pointer;
	}

	:is(a:focus-visible, button:focus-visible, summary:focus-visible) {
		outline-offset: 4px;
		outline: 2px solid #4c7773;
	}

	img {
		max-width: 100%;
		display: block;
	}

	h1,
	h2,
	h3,
	p,
	figure {
		margin: 0;
	}

	h1,
	h2 {
		font-family: Anticva, Georgia, serif;
		font-weight: 400;
		line-height: 1.16;
		text-align: left;
	}

	h1 {
		font-size: clamp(34px, 3.5vw, 52px);
	}

	h2 {
		font-size: clamp(28px, 2.8vw, 40px);
		text-align: left;
	}

	h3 {
		font-size: 21px;
		font-weight: 400;
		line-height: 1.3;
		text-align: left;
	}

	.intro {}

	.eyebrow {
		letter-spacing: .15em;
		color: #657c70;
		margin-bottom: 14px;
		font-size: 12px;
		line-height: 1.5;
	}

	.intro>.eyebrow,
	.intro>h1,
	.intro-copy {
		text-align: center;
	}

	.intro-copy {
		color: #65706a;
		margin: 16px auto 28px;
		font-size: 17px;
		line-height: 1.6;
	}

	.hero {
		background: #eef2ee;
		grid-template-columns: 1.4fr 1fr;
		min-height: 395px;
		display: grid;
	}

	.hero-image {
		position: relative;
		overflow: hidden;
	}

	.hero-image img {
		object-fit: cover;
		width: 100%;
		height: 100%;
		position: absolute;
	}

	.image-caption {
		color: #fff;
		background: #23372fa6;
		padding: 6px 10px;
		font-size: 12px;
		position: absolute;
		bottom: 16px;
		left: 20px;
	}

	.hero-copy {
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		padding: 32px 40px;
		display: flex;
	}

	.hero-copy h2 {
		font-size: clamp(34px, 3.2vw, 46px);
		line-height: 1.12;
	}

	.hero-copy p {
		color: #606d65;
		margin: 18px 0;
		font-size: 15px;
	}

	.button {
		color: #fff;
		background: #4c7773;
		border: 1px solid #4c7773;
		justify-content: center;
		align-items: center;
		gap: 22px;
		min-height: 50px;
		padding: 14px 21px;
		font-size: 14px;
		transition: all .2s;
		display: inline-flex;
	}

	.button:hover {
		background: #335b57;
	}

	.button.outline {
		color: #4c7773;
		background: #fff;
	}

	.button.outline:hover {
		background: #edf3ef;
	}

	.text-link {
		color: #466d66;
		border-bottom: 1px solid #9aafa3;
		align-items: center;
		gap: 18px;
		width: fit-content;
		padding-bottom: 5px;
		font-size: 14px;
		display: inline-flex;
	}

	.hero-copy>.text-link {
		margin-top: 17px;
		font-size: 13px;
	}

	.benefits {
		border-bottom: 1px solid #d8dfd9;
		grid-template-columns: repeat(4, 1fr);
		padding: 26px 0;
		display: grid;
	}

	.benefits>div {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 16px;
		color: #68746b;
		border-right: 1px solid #d8dfd9;
		font-size: 13px;
		line-height: 1.5;
		padding: 0 25px;
	}

	.benefits>div:last-child {
		border: 0;
	}

	.benefits svg {
		flex: 0 0 auto;
		stroke-width: 1.2px;
		color: #4c7773;
		width: 28px;
		height: 28px;
	}

	.benefits b {
		color: #34453b;
		font-weight: 400;
	}

	.catalog {
		padding-top: 58px;
		padding-bottom: 60px;
	}

	.section-head {
		justify-content: space-between;
		align-items: flex-end;
		gap: 30px;
		margin-bottom: 26px;
		display: flex;
	}

	.section-head .eyebrow {
		margin-bottom: 9px;
	}

	.section-head>p {
		color: #6b756f;
		font-size: 14px;
	}

	.topics {
		flex-wrap: wrap;
		gap: 9px;
		padding-bottom: 22px;
		display: flex;
	}

	.topics button {
		background: #fff;
		border: 1px solid #dce2dd;
		padding: 8px 17px;
		font-size: 14px;
		transition: all .2s;
	}

	.topics .selected,
	.topics button:hover {
		color: #fff;
		background: #4c7773;
		border-color: #4c7773;
	}

	.filter-list {
		display: flex;
		align-items: center;
		gap: 14px;
		border-top: 1px solid #dce2dd;
		border-bottom: 1px solid #dce2dd;
		padding: 18px 0;
	}

	/* custom filter */
	.filter {
		width: 240px;
		margin: 0;
	}

	.filter button {
		width: 100%;
		height: 48px;
		text-align: left;
		background-color: #fff;
		border: 1px solid #CACACA;
		background-image: none;
		box-shadow: none;
	}

	.filter button:hover,
	.filter button:focus,
	.filter button.focus,
	.filter button:active,
	.filter button.active {
		outline: none;
		-webkit-box-shadow: none;
		box-shadow: none;
	}

	.filter button .text {
		position: relative;
		font-size: 16px;
		line-height: 120%;
	}

	.filter button .text::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 24px;
		height: 24px;
	}

	.filter button .caret {
		float: right;
		margin-top: 2px;
		width: 16px;
		height: 17px;
		background-image: url(/import/i/icons/chevron-right.svg);
		transform: rotate(90deg);
		border: none;
	}

	.filter.open button .caret {
		transform: rotate(270deg);
	}

	.filter .dropdown-menu {
		width: 100%;
		box-shadow: none;
		border: 1px solid #CACACA;
		padding: 8px 4px 8px 0;
		margin-top: 4px;
	}

	.filter .dropdown-menu__list {
		overflow: auto;
		max-height: 200px;
		list-style: none;
		padding: 0;
		margin: 0;

		/* «цвет ползунка» «цвет полосы скроллбара» */
		scrollbar-color: #4E7570 #E7E7E7;
		/* толщина */
		scrollbar-width: auto;
	}

	/* полоса прокрутки (скроллбар) */
	.filter .dropdown-menu__list::-webkit-scrollbar {
		width: 5px;
		/* ширина для горизонтального скролла */
		background-color: #E7E7E7;
	}

	/* ползунок скроллбара */
	.filter .dropdown-menu__list::-webkit-scrollbar-thumb {
		background-color: #4E7570;
		border-radius: 8px;
	}

	.dropdown-menu__list label {
		cursor: pointer;
		width: 100%;
		font-size: 16px;
		line-height: 120%;
		padding: 8px 12px;
		margin: 0;
	}

	.dropdown-menu__list label:hover {
		background-color: #f4f4f4;
	}

	.dropdown-menu__list label._active {
		background-color: #D8E4E3;
	}
	/* custom filter */

	.result-count {
		color: #7e877d;
		margin-left: auto;
		margin-right: 10px;
		font-size: 13px;
	}

	.catalog-helper {
		color: #6d786f;
		justify-content: space-between;
		padding: 15px 0;
		font-size: 13px;
		display: flex;
	}

	.catalog-helper>span:first-child {
		align-items: center;
		gap: 9px;
		display: flex;
	}

	.products {
		grid-template-columns: repeat(3, 1fr);
		gap: 34px 26px;
		display: grid;
	}

	.product {
		display: flex;
		flex-direction: column;
		min-width: 0;
	}

	.product-image {
		aspect-ratio: 1.25;
		background: #f3f4f0;
		display: block;
		position: relative;
		overflow: hidden;
	}

	.product-image>img {
		object-fit: contain;
		width: 100%;
		height: 100%;
		padding: 20px;
		transition: transform .4s;
	}

	.product-image:hover>img {
		transform: scale(1.03);
	}

	.size-tag {
		background: #fff;
		padding: 5px 9px;
		font-size: 12px;
		position: absolute;
		bottom: 12px;
		left: 12px;
	}

	.product-body {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		padding: 17px 2px 0;
	}

	.product-type {
		letter-spacing: .1em;
		color: #798379;
		font-size: 11px;
	}

	.product h3 {
		word-break: break-all;
		font-size: 23px;
		text-align: left;
		margin: 6px 0 10px;
	}

	.product-size {
		font-size: 15px;
		margin-bottom: auto;
	}

	.product-size>span {
		color: #7a837b;
		margin-top: 2px;
		font-size: 13px;
		display: block;
	}

	.product-bottom {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		border-top: 1px solid #e0e5e1;
		padding-top: 16px;
		margin-top: 16px;
	}

	.product strong {
		font-size: 25px;
		font-weight: 400;
	}

	.product small {
		display: block;
		color: #7a837b;
		font-size: 12px;
	}

	.product-cta {
		display: flex;
		align-items: center;
		gap: 12px;
		color: #456d61;
		border: 1px solid #9db1a5;
		font-size: 14px;
		padding: 9px 12px;
	}

	.product-cta:hover {
		background: #edf3ee;
	}

	.catalog-note {
		color: #7a837c;
		font-size: 12px;
		margin-top: 22px;
	}

	.catalog-more {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 16px;
		text-align: center;
		margin-top: 28px;
	}

	.empty {
		text-align: center;
		background: #f4f6f2;
		padding: 50px;
	}

	.empty p {
		margin-bottom: 20px;
	}

	.kit-section {
		background: #f1f4f0;
		box-shadow: 0 0 0 100vmax #f1f4f0;
		clip-path: inset(0 -100vmax);
	}

	.kit {
		display: grid;
		grid-template-columns: 1.1fr 1fr .8fr;
		align-items: center;
		gap: 45px;
		padding: 52px 0;
	}

	.kit-title p {
		color: #6b756b;
		max-width: 340px;
		margin-top: 20px;
		font-size: 15px;
	}

	.kit-example>img {
		aspect-ratio: 4/3;
		object-fit: contain;
		width: 100%;
	}

	.dimension {
		display: flex;
		justify-content: space-between;
		align-items: center;
		color: #6a7c6c;
		border-top: 1px solid #acb9ad;
		font-size: 13px;
		margin-top: 10px;
	}

	.kit-spec dl {
		margin: 0;
	}

	.kit-spec dl>div {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		border-bottom: 1px solid #d7dfd5;
		font-size: 14px;
		padding: 10px 0;
	}

	.kit-spec dt {
		color: #778373;
	}

	.kit-spec dd {
		margin: 0;
	}

	.kit-spec p {
		color: #7a8575;
		font-size: 12px;
		margin-top: 15px;
	}

	.interiors {
		padding-top: 65px;
		padding-bottom: 55px;
	}

	.interior-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 28px;
		margin: 28px 0;
	}

	.interior-grid img {
		width: 100%;
		height: 300px;
		object-fit: cover;
	}

	.interior-grid figcaption {
		display: flex;
		justify-content: space-between;
		border-bottom: 1px solid #dbe2db;
		font-size: 16px;
		padding: 14px 0;
	}

	.interior-grid figcaption span {
		color: #96a292;
		font-family: Anticva, Georgia, serif
	}

	.steps {
		text-align: center;
		border-top: 1px solid #dce2db;
		padding: 48px 0;
	}

	.steps-grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 48px;
		text-align: left;
		margin-top: 35px;
	}

	.step-num {
		display: block;
		color: #9cae9c;
		font: 40px Anticva, Georgia, serif;
		border-bottom: 1px solid #d8e0d6;
		padding-bottom: 12px;
		margin-bottom: 18px;
	}

	.steps-grid h3 {
		font-size: 21px;
	}

	.steps-grid p {
		color: #747e72;
		max-width: 300px;
		margin-top: 11px;
		font-size: 15px;
	}

	.practical {
		grid-template-columns: 1fr 1fr;
		gap: 28px;
		padding: 15px 0 60px;
		display: grid;
	}

	.practical-card {
		border: 1px solid #dce3d9;
		padding: 30px;
	}

	.practical-card>svg {
		color: #6b8a78;
		stroke-width: 1.2px;
		width: 32px;
		height: 32px;
		margin-bottom: 18px
	}

	.practical-card p {
		color: #717d6e;
		max-width: 460px;
		margin: 14px 0 20px;
		font-size: 15px
	}

	.faq {
		border-top: 1px solid #dce3d8;
		grid-template-columns: 1fr 1.4fr;
		gap: 60px;
		padding: 45px 0 65px;
		display: grid;
	}

	.faq>div>p {
		color: #74806f;
		margin: 20px 0;
		font-size: 15px;
	}

	.questions details {
		border-bottom: 1px solid #dce3d9;
		padding: 20px 0;
	}

	.questions details:first-child {
		padding-top: 0;
	}

	.questions summary {
		cursor: pointer;
		justify-content: space-between;
		align-items: center;
		gap: 20px;
		font-size: 16px;
		list-style: none;
		display: flex;
	}

	.questions summary::-webkit-details-marker {
		display: none;
	}

	.questions summary svg {
		color: #789070;
		flex-shrink: 0;
	}

	.questions details[open] summary svg {
		transform: rotate(180deg);
	}

	.questions details p {
		color: #74806d;
		padding: 15px 25px 0 0;
		font-size: 14px;
	}

	.custom {
		background: #edf2ed;
		border-left: 3px solid #4c7773;
		justify-content: space-between;
		align-items: center;
		gap: 25px;
		margin-bottom: 65px;
		padding: 40px;
		display: flex;
	}

	.custom p {
		color: #71816b;
		margin-top: 15px;
		font-size: 15px;
	}

	@media (max-width:1024px) {
		.hero-copy {
			padding: 28px;
		}

		.hero {
			min-height: 370px;
		}

		.kit {
			grid-template-columns: 1fr 1fr;
			gap: 25px;
		}

		.kit-spec {
			grid-column: 1/-1;
		}

		.kit-spec dl {
			grid-template-columns: repeat(4, 1fr);
			gap: 20px;
			display: grid;
		}

		.kit-spec dl>div {
			flex-direction: column;
			gap: 5px;
		}

		.benefits>div {
			gap: 9px;
			padding: 0 12px;
		}

		.product-bottom {
			flex-direction: column;
			align-items: flex-start;
		}

		.interior-grid img {
			height: 260px;
		}

		.faq {
			gap: 30px;
		}

		.product-image>img {
			padding: 15px;
		}

		.filter-list {
			flex-wrap: wrap;
		}

		.result-count {
			order: 4;
			width: 100%;
			margin: 0;
		}
	}

	@media (max-width:768px) {
		h1 {
			font-size: 33px;
		}

		.intro-copy {
			margin: 16px 0 23px;
			font-size: 16px;
		}

		.eyebrow {
			font-size: 12px;
		}

		.hero {
			grid-template-columns: 1fr;
			min-height: 0;
		}

		.hero-image {
			height: 240px;
		}

		.hero-copy {
			padding: 27px;
		}

		.hero-copy h2 {
			font-size: 34px;
		}

		.hero-copy h2 br {
			display: none;
		}

		.hero-copy>h2 {
			max-width: 290px;
		}

		.hero-copy p {
			margin: 16px 0;
			font-size: 16px;
		}

		.hero-copy .button {
			width: 100%;
		}

		.benefits {
			grid-template-columns: 1fr 1fr;
			gap: 20px 0;
			padding: 24px 0;
		}

		.benefits>div {
			justify-content: flex-start;
			padding: 0 8px;
			font-size: 12px;
		}

		.benefits>div:nth-child(2) {
			border: 0;
		}

		.benefits svg {
			width: 23px;
			height: 23px;
		}

		.catalog {
			padding: 40px 0;
		}

		.section-head {
			display: block;
		}

		.section-head>.text-link {
			margin-top: 18px;
		}

		.section-head>p {
			margin-top: 18px;
			font-size: 14px;
		}

		h2 {
			font-size: 29px;
		}

		.topics {
			gap: 7px;
			padding-bottom: 16px;
		}

		.topics button {
			padding: 7px 10px;
			font-size: 13px;
		}

		.filter-list {
			gap: 10px;
		}

		.filter {
			width: calc(50% - 5px);
			min-width: 0;
		}

		.filter-list>.filter:last-child {
			width: 100%;
		}

		.catalog-helper {
			align-items: center;
			gap: 12px;
			font-size: 12px;
		}

		.catalog-helper>span:first-child {
			max-width: 165px;
		}

		.products {
			grid-template-columns: 1fr 1fr;
			gap: 26px 14px;
		}

		.product-image {
			aspect-ratio: 1;
		}

		.product-image>img {
			padding: 7px;
		}

		.size-tag {
			padding: 3px 5px;
			font-size: 11px;
			bottom: 6px;
			left: 6px;
		}

		.product-body {
			padding-top: 12px;
		}

		.product-type {
			letter-spacing: 0;
			font-size: 11px;
		}

		.product h3 {
			min-height: 49px;
			font-size: 19px;
		}

		.product-size {
			font-size: 14px;
		}

		.product-size span {
			min-height: 38px;
			font-size: 12px;
		}

		.product strong {
			font-size: 23px;
		}

		.product small {
			font-size: 12px;
		}

		.product-cta {
			justify-content: space-between;
			width: 100%;
			padding: 9px;
			font-size: 13px;
		}

		.product-bottom {
			margin-top: 12px;
			padding-top: 12px;
		}

		.catalog-note {
			font-size: 12px;
		}

		.button {
			font-size: 14px;
		}

		.kit {
			grid-template-columns: 1fr;
			gap: 26px;
			padding: 37px 0;
		}

		.kit-title p {
			max-width: none;
			font-size: 16px;
		}

		.kit-example {
			width: 100%;
			max-width: 310px;
			margin: auto;
		}

		.kit-spec dl {
			grid-template-columns: 1fr 1fr;
			gap: 10px 25px;
		}

		.interiors {
			padding: 43px 0;
		}

		.interior-grid {
			grid-template-columns: 1fr;
			gap: 24px;
			margin: 24px 0;
		}

		.interior-grid img {
			height: 250px;
		}

		.interior-grid figcaption {
			font-size: 15px;
		}

		.steps {
			padding: 36px 0;
		}

		.steps-grid {
			grid-template-columns: 1fr;
			gap: 25px;
			margin-top: 26px;
		}

		.steps-grid>div {
			grid-template-columns: 52px 1fr;
			gap: 3px 18px;
			display: grid;
		}

		.step-num {
			border: 0;
			grid-row: 1/3;
			margin: 0;
			padding: 0;
			font-size: 34px;
		}

		.steps-grid h3 {
			font-size: 20px;
		}

		.steps-grid p {
			max-width: none;
			margin: 5px 0 0;
			font-size: 16px;
		}

		.practical {
			grid-template-columns: 1fr;
			gap: 18px;
			padding: 5px 0 38px;
		}

		.practical-card {
			padding: 25px;
		}

		.practical-card p {
			font-size: 16px;
		}

		.faq {
			grid-template-columns: 1fr;
			gap: 30px;
			padding: 35px 0 43px;
		}

		.questions summary {
			font-size: 16px;
		}

		.custom {
			margin-bottom: 40px;
			padding: 27px;
			display: block;
		}

		.custom h2 {
			font-size: 28px;
		}

		.custom .button {
			margin-top: 25px;
		}
	}

	@media (max-width:540px) {
		h1 {
			font-size: 28px;
		}

		.hero-copy h2 {
			font-size: 26px;
		}

		.filter {
			width: 100%;
		}

		.products {
			grid-template-columns: 1fr;
		}
	}

	.custom {
		background: #f5f5f5;
		border: 0;
		grid-template-columns: 1fr 1.15fr;
		align-items: stretch;
		gap: 0;
		min-height: 390px;
		margin-bottom: 65px;
		padding: 0;
		display: grid
	}

	.custom-copy {
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		padding: 58px 52px;
		display: flex;
	}

	.custom h2 {
		font-size: 38px;
	}

	.custom ul {
		margin: 20px 0 30px;
		padding: 0;
		font-size: 16px;
		list-style: none;
	}

	.custom li {
		margin: 7px 0;
		padding-left: 24px;
		position: relative;
	}

	.custom li:before {
		content: "✓";
		color: #d8222a;
		font-weight: 700;
		position: absolute;
		left: 0;
	}

	.custom-image {
		min-height: 390px;
		position: relative;
		overflow: hidden;
	}

	.custom-image img {
		object-fit: cover;
		width: 100%;
		height: 100%;
		position: absolute;
		inset: 0;
	}

	@media (max-width:1024px) {
		.custom {
			grid-template-columns: 1fr 1fr;
		}

		.custom-copy {
			padding: 42px 34px;
		}

		.custom h2 {
			font-size: 32px;
		}
	}

	@media (max-width:768px) {
		.hero-copy p br {
			display: none;
		}

		.custom {
			grid-template-columns: 1fr;
			margin-bottom: 40px;
			padding: 0;
		}

		.custom-copy {
			padding: 32px 27px;
		}

		.custom h2 {
			font-size: 28px;
		}

		.custom ul {
			margin: 18px 0 24px;
			font-size: 15px;
		}

		.custom .button {
			width: 100%;
			margin-top: 0;
		}

		.custom-image {
			height: 240px;
		}
	}

	.product-story {
		padding-top: 68px;
		padding-bottom: 68px;
	}

	.story-head {
		grid-template-columns: .95fr 1.05fr;
		align-items: start;
		gap: 70px;
		padding-bottom: 38px;
		display: grid;
	}

	.story-head>p {
		color: #5f6c63;
		max-width: 640px;
		font-size: 17px;
		line-height: 1.75;
	}

	.story-grid {
		padding-top: 40px;
		display: block;
	}

	.story-grid article {
		padding: 28px 0 34px;
		position: relative;
	}

	.story-grid h3 {
		margin-bottom: 20px;
		font: 400 27px/1.25 Anticva, Georgia, serif;
	}

	.story-grid p {
		color: #657066;
		max-width: 1080px;
		margin-top: 14px;
		font-size: 16px;
		line-height: 1.75;
	}

	.order-copy {
		text-align: left;
		border-top: 1px solid #dce2db;
		grid-template-columns: .8fr 1.2fr;
		gap: 70px;
		margin-top: 52px;
		padding: 38px 0 0;
		display: grid;
	}

	.order-copy h3 {
		font: 400 30px/1.2 Anticva, Georgia, serif;
	}

	.order-copy p {
		color: #657066;
		max-width: 700px;
		margin-bottom: 14px;
		font-size: 15px;
		line-height: 1.72;
	}

	.order-copy .text-link {
		margin-top: 6px;
	}

	@media (max-width:1024px) {

		.story-head,
		.order-copy {
			gap: 36px;
		}

		.benefits>div:last-child b {
			max-width: 190px;
			display: inline-block;
		}
	}

	@media (max-width:768px) {
		.product-story {
			padding-top: 42px;
			padding-bottom: 44px;
		}

		.story-head {
			grid-template-columns: 1fr;
			gap: 22px;
			padding-bottom: 28px;
		}

		.story-head h2 br {
			display: none;
		}

		.story-head>p {
			font-size: 16px;
			line-height: 1.68;
		}

		.story-grid {
			padding-top: 30px;
		}

		.story-grid article {
			padding: 24px 0 28px;
		}

		.story-grid h3 {
			margin-bottom: 15px;
			font-size: 24px;
		}

		.story-grid p {
			font-size: 16px;
			line-height: 1.65;
		}

		.order-copy {
			grid-template-columns: 1fr;
			gap: 18px;
			margin-top: 38px;
			padding-top: 30px;
		}

		.order-copy h3 {
			font-size: 26px;
		}

		.order-copy p {
			font-size: 16px;
			line-height: 1.65;
		}

		.custom-image {
			height: 240px;
			min-height: 240px;
		}

		.benefits>div:last-child b {
			max-width: 145px;
		}
	}

	.kit-title p,
	.steps-grid p,
	.story-head>p,
	.story-grid p,
	.order-copy p,
	.practical-card p,
	.faq>div>p,
	.questions details p {
		color: #333;
		font-family: Averta, Arial, sans-serif;
		font-size: 16px;
	}
}