@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins-regular-latin.woff2') format('woff2');
	font-weight: 400;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins-regular-latin-ext.woff2') format('woff2');
	font-weight: 400;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins-medium-latin.woff2') format('woff2');
	font-weight: 500;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins-medium-latin-ext.woff2') format('woff2');
	font-weight: 500;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins-semibold-latin.woff2') format('woff2');
	font-weight: 600;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins-semibold-latin-ext.woff2') format('woff2');
	font-weight: 600;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins-bold-latin.woff2') format('woff2');
	font-weight: 700;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
	font-family: 'Poppins';
	src: url('../fonts/poppins-bold-latin-ext.woff2') format('woff2');
	font-weight: 700;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

:root {
	--gold: #c9ab6d;
	--gold-dark: #ab8c4e;
	--gold-soft: #f6f0e3;
	--gold-tint: #fbf8f1;
	--ink: #25262a;
	--text: #666a72;
	--muted: #95999f;
	--line: #e8e6e1;
	--r: 10px;
	--shadow: 0 2px 10px rgba(37, 38, 42, .05);
	--shadow-lg: 0 12px 40px rgba(37, 38, 42, .09);
	--wa-size: 56px;
	--wa-gap: 22px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%
}

body {
	font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.75;
	color: var(--text);
	background: #fff;
	-webkit-font-smoothing: antialiased
}

img,
svg {
	max-width: 100%;
	display: block
}

a {
	color: inherit;
	text-decoration: none
}

ul {
	list-style: none
}

button {
	font: inherit;
	cursor: pointer;
	border: 0;
	background: none;
	color: inherit
}

input,
textarea {
	font: inherit;
	font-size: 15px
}

h1,
h2,
h3 {
	color: var(--ink);
	line-height: 1.3;
	font-weight: 600
}

strong {
	color: #3f4147;
	font-weight: 600
}

.container {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 20px
}

.section {
	padding: 76px 0
}

.section--alt {
	background: #faf9f7
}

.section--tint {
	background: var(--gold-tint)
}

.head {
	max-width: 720px;
	margin: 0 auto 46px;
	text-align: center
}

.eyebrow {
	display: inline-block;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--gold-dark);
	margin-bottom: 12px
}

.head h2 {
	font-size: clamp(24px, 3vw, 34px);
	margin-bottom: 14px;
	letter-spacing: -.3px
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 14px 28px;
	border-radius: var(--r);
	font-size: 15px;
	font-weight: 500;
	white-space: nowrap;
	transition: background .22s, border-color .22s, color .22s, transform .12s, box-shadow .22s
}

.btn svg {
	width: 17px;
	height: 17px;
	fill: currentColor;
	flex: none
}

.btn--gold {
	background: var(--gold);
	color: #fff;
	box-shadow: 0 4px 14px rgba(201, 171, 109, .32)
}

.btn--gold:hover {
	background: var(--gold-dark);
	box-shadow: 0 6px 20px rgba(201, 171, 109, .42)
}

.btn--ghost {
	border: 1.5px solid var(--line);
	color: var(--ink)
}

.btn--ghost:hover,
.btn--ghost.is-active {
	border-color: var(--gold);
	color: var(--gold-dark);
	background: var(--gold-tint)
}

.btn:active {
	transform: translateY(1px)
}

.btn--block {
	width: 100%
}

.header {
	position: sticky;
	top: 0;
	z-index: 70;
	background: #fff;
	border-bottom: 1px solid var(--line);
	transition: box-shadow .25s
}

.header.is-scrolled {
	box-shadow: 0 4px 22px rgba(37, 38, 42, .09)
}

.header .container {
	display: flex;
	align-items: center;
	gap: 22px;
	min-height: 88px
}

.logo {
	display: inline-flex;
	align-items: center;
	flex: none
}

.logo img {
	width: auto;
	height: 62px;
	object-fit: contain
}

.actions {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-left: auto
}

.tel {
	display: inline-flex;
	align-items: center;
	gap: 9px
}

.tel svg {
	width: 36px;
	height: 36px;
	padding: 9px;
	border-radius: 50%;
	background: var(--gold-soft);
	fill: var(--gold-dark);
	flex: none;
	transition: background .2s, fill .2s
}

.tel:hover svg {
	background: var(--gold);
	fill: #fff
}

.tel span {
	display: block;
	font-size: 11px;
	color: var(--muted);
	line-height: 1.3
}

.tel b {
	display: block;
	font-size: 15px;
	font-weight: 600;
	color: var(--ink);
	line-height: 1.3
}

.hero {
	position: relative;
	overflow: hidden;
	padding: 74px 0 78px;
	background: var(--gold-tint)
}

.hero::before {
	content: '';
	position: absolute;
	inset: 0;
	opacity: .5;
	pointer-events: none;
	background-image:
		linear-gradient(30deg, transparent 47.5%, rgba(201, 171, 109, .16) 47.5% 52.5%, transparent 52.5%),
		linear-gradient(-30deg, transparent 47.5%, rgba(201, 171, 109, .16) 47.5% 52.5%, transparent 52.5%),
		linear-gradient(90deg, transparent 47.5%, rgba(201, 171, 109, .16) 47.5% 52.5%, transparent 52.5%);
	background-size: 86px 50px
}

.hero .container {
	position: relative;
	z-index: 1;
	max-width: 840px;
	text-align: center
}

.tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 15px;
	margin-bottom: 22px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 100px;
	font-size: 13px;
	font-weight: 500;
	color: var(--gold-dark);
	transition: border-color .2s, box-shadow .2s
}

.tag:hover {
	border-color: var(--gold);
	box-shadow: var(--shadow)
}

.tag svg {
	width: 14px;
	height: 14px;
	fill: var(--gold);
	flex: none
}

.hero h1 {
	font-size: clamp(29px, 4.6vw, 48px);
	line-height: 1.18;
	letter-spacing: -1px;
	margin-bottom: 20px
}

.hero h1 span {
	color: var(--gold-dark)
}

.lead {
	font-size: 17.5px;
	margin: 0 auto 18px;
	max-width: 660px
}

.note {
	font-size: 15px;
	line-height: 1.7;
	text-align: left;
	padding: 16px 20px;
	margin: 0 auto 30px;
	max-width: 640px;
	background: #fff;
	border-left: 3px solid var(--gold);
	border-radius: 0 var(--r) var(--r) 0;
	box-shadow: var(--shadow)
}

.hero-btns {
	display: flex;
	gap: 13px;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 32px
}

.about {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center
}

.about h2 {
	font-size: clamp(24px, 3vw, 34px);
	margin-bottom: 18px;
	letter-spacing: -.4px
}

.about .txt {
	margin-bottom: 16px
}

.about .txt:last-child {
	margin-bottom: 0
}

.panels {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px
}

.panel {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 26px 24px;
	box-shadow: var(--shadow);
	transition: transform .22s, box-shadow .22s, border-color .22s
}

.panel:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-lg);
	border-color: #e0d0ab
}

.panel--wide {
	grid-column: 1/-1
}

.panel h3 {
	font-size: 16.5px;
	margin-bottom: 8px
}

.panel .txt {
	font-size: 14.5px;
	line-height: 1.7;
	margin: 0
}

.vals {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 9px 22px
}

.vals li {
	position: relative;
	padding-left: 24px;
	font-size: 14.5px;
	line-height: 1.65
}

.vals li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	border: 2.5px solid var(--gold)
}

.ico {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 13px;
	background: var(--gold-soft);
	margin-bottom: 16px
}

.ico svg {
	width: 23px;
	height: 23px;
	fill: var(--gold-dark)
}

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

.service {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 28px 26px;
	transition: transform .22s, box-shadow .22s, border-color .22s
}

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

.service h3 {
	font-size: 16.5px;
	margin-bottom: 9px;
	line-height: 1.4
}

.service .txt {
	font-size: 14.5px;
	line-height: 1.7
}

.tests {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px
}

.test {
	position: relative;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 26px 24px 24px;
	transition: transform .24s, box-shadow .24s, border-color .24s
}

.test::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	height: 3px;
	width: 52px;
	background: var(--gold);
	transition: width .32s
}

.test:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg);
	border-color: #e0d0ab
}

.test:hover::before {
	width: 100%
}

.test .ico {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	margin-bottom: 15px
}

.test .ico svg {
	width: 21px;
	height: 21px
}

.test h3 {
	font-size: 16.5px;
	margin-bottom: 8px;
	line-height: 1.4
}

.test .txt {
	font-size: 14.5px;
	line-height: 1.7
}

.test--wide {
	grid-column: span 2;
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 20px;
	align-items: start
}

.test--wide .ico {
	margin-bottom: 0
}

.test--wide h3,
.test--wide .txt {
	grid-column: 2
}

.form-card {
	max-width: 720px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
	box-shadow: var(--shadow-lg);
	padding: 34px 32px
}

.row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px
}

.field {
	display: block;
	margin-bottom: 14px
}

.field span {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: #3f4147;
	margin-bottom: 6px
}

.field span i {
	font-style: normal;
	color: var(--gold-dark)
}

.field input,
.field textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1.5px solid var(--line);
	border-radius: var(--r);
	color: var(--ink);
	background: #fff;
	transition: border-color .2s, box-shadow .2s
}

.field textarea {
	min-height: 96px;
	resize: vertical
}

.field input:focus,
.field textarea:focus {
	outline: none;
	border-color: var(--gold);
	box-shadow: 0 0 0 3px rgba(201, 171, 109, .16)
}

.field.has-error input,
.field.has-error textarea {
	border-color: #d9534f
}

.err {
	display: none;
	font-size: 12px;
	color: #d9534f;
	margin-top: 5px
}

.has-error .err {
	display: block
}

.captcha {
	position: relative;
	margin-bottom: 18px
}

.captcha>span {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: #3f4147;
	margin-bottom: 6px
}

.captcha>span i {
	font-style: normal;
	color: var(--gold-dark)
}

.captcha-box {
	overflow: hidden
}

.captcha .g-recaptcha {
	display: inline-block;
	border-radius: var(--r);
	transition: box-shadow .2s
}

.captcha.has-error .g-recaptcha {
	box-shadow: 0 0 0 2px #d9534f
}

.captcha .tip {
	position: absolute;
	left: 0;
	bottom: calc(100% + 9px);
	z-index: 5;
	display: block;
	max-width: 280px;
	padding: 8px 12px;
	border-radius: var(--r);
	background: #d9534f;
	color: #fff;
	font-size: 12.5px;
	line-height: 1.45;
	box-shadow: 0 6px 18px rgba(217, 83, 79, .3);
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition: opacity .2s, transform .2s, visibility .2s
}

.captcha .tip::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 22px;
	border: 6px solid transparent;
	border-top-color: #d9534f
}

.captcha.has-error .tip {
	opacity: 1;
	visibility: visible;
	transform: translateY(0)
}

@media (max-width:420px) {
	.captcha-box {
		height: 69px
	}

	.captcha .g-recaptcha {
		transform: scale(.88);
		transform-origin: 0 0
	}
}

@media (max-width:360px) {
	.captcha-box {
		height: 61px
	}

	.captcha .g-recaptcha {
		transform: scale(.78)
	}
}

.status {
	display: none;
	margin-top: 14px;
	padding: 12px 15px;
	border-radius: var(--r);
	font-size: 13.5px;
	line-height: 1.55
}

.status.is-ok {
	display: block;
	background: #eaf6ee;
	color: #26663f
}

.status.is-err {
	display: block;
	background: #fdecea;
	color: #a8302b
}

.hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none
}

.btn.is-loading {
	pointer-events: none;
	opacity: .65
}

.cta {
	padding: 26px 0 70px
}

.cta-card {
	position: relative;
	overflow: hidden;
	background: var(--gold);
	color: #fff;
	border-radius: 24px;
	padding: 52px 56px;
	box-shadow: 0 18px 44px rgba(140, 112, 56, .22);
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 52px;
	align-items: center
}

.cta-card::before {
	content: '';
	position: absolute;
	inset: 0;
	opacity: .45;
	pointer-events: none;
	background-image:
		linear-gradient(30deg, transparent 47.5%, rgba(255, 255, 255, .17) 47.5% 52.5%, transparent 52.5%),
		linear-gradient(-30deg, transparent 47.5%, rgba(255, 255, 255, .17) 47.5% 52.5%, transparent 52.5%),
		linear-gradient(90deg, transparent 47.5%, rgba(255, 255, 255, .17) 47.5% 52.5%, transparent 52.5%);
	background-size: 86px 50px
}

.cta-text,
.phones {
	position: relative;
	z-index: 1
}

.cta-text {
	max-width: 520px
}

.cta-text h2 {
	color: #fff;
	font-size: clamp(24px, 3.1vw, 34px);
	line-height: 1.3;
	margin-bottom: 12px;
	letter-spacing: -.5px
}

.cta-text .txt {
	color: rgba(255, 255, 255, .9);
	font-size: 16.5px
}

.phones {
	display: grid;
	gap: 12px;
	min-width: 330px
}

.phone {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #fff;
	border-radius: 14px;
	padding: 14px 20px;
	font-size: clamp(18px, 2vw, 21px);
	font-weight: 600;
	color: var(--ink);
	box-shadow: 0 6px 20px rgba(120, 95, 45, .16);
	transition: transform .2s, box-shadow .24s
}

.phone:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(120, 95, 45, .26)
}

.phone span {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 11px;
	flex: none;
	background: var(--gold-soft);
	transition: background .24s
}

.phone span svg {
	width: 19px;
	height: 19px;
	fill: var(--gold-dark);
	transition: fill .24s
}

.phone:hover span {
	background: var(--gold)
}

.phone:hover span svg {
	fill: #fff
}

.footer {
	background: var(--ink);
	color: #a7abb2;
	padding: 58px 0 0;
	font-size: 14.5px
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
	gap: 44px;
	padding-bottom: 44px
}

.footer h3 {
	color: #fff;
	font-size: 15px;
	margin-bottom: 18px
}

.brand>a {
	display: inline-block;
	background: #fff;
	padding: 12px 18px;
	border-radius: 14px
}

.brand img {
	height: 84px;
	width: auto
}

.brand .txt {
	line-height: 1.8;
	margin: 16px 0 20px;
	font-size: 14px
}

.social {
	display: flex;
	gap: 10px
}

.social a {
	width: 36px;
	height: 36px;
	border-radius: 9px;
	background: rgba(255, 255, 255, .07);
	display: grid;
	place-items: center;
	transition: background .2s
}

.social a:hover {
	background: var(--gold)
}

.social svg {
	width: 16px;
	height: 16px;
	fill: #fff
}

.links {
	display: grid;
	gap: 11px
}

.links a {
	transition: color .2s, padding-left .2s
}

.links a:hover {
	color: var(--gold);
	padding-left: 4px
}

.contact {
	display: grid;
	gap: 15px;
	font-style: normal
}

.contact>div {
	display: flex;
	gap: 11px;
	align-items: flex-start;
	line-height: 1.7
}

.contact svg {
	width: 15px;
	height: 15px;
	fill: var(--gold);
	flex: none;
	margin-top: 5px
}

.contact a:hover {
	color: #fff
}

.copyright {
	border-top: 1px solid rgba(255, 255, 255, .09);
	padding: 20px 0 24px;
	font-size: 12.5px;
	color: #7c8088
}

.copyright .container {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap
}

.copyright a {
	color: var(--gold)
}

.copyright a:hover {
	color: #fff
}

.wa {
	position: fixed;
	right: var(--wa-gap);
	bottom: var(--wa-gap);
	z-index: 60;
	width: var(--wa-size);
	height: var(--wa-size);
	border-radius: 50%;
	background: #25d366;
	display: grid;
	place-items: center;
	box-shadow: 0 6px 20px rgba(37, 211, 102, .4);
	transition: transform .2s
}

.wa:hover {
	transform: scale(1.07)
}

.wa svg {
	width: 30px;
	height: 30px;
	fill: #fff
}

.wa-msg {
	position: fixed;
	right: var(--wa-gap);
	bottom: calc(var(--wa-gap) + var(--wa-size) + 10px);
	z-index: 59;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	width: max-content;
	max-width: 252px;
	padding: 13px 15px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 14px;
	box-shadow: var(--shadow-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .32s, transform .32s, visibility .32s
}

.wa-msg.is-shown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0)
}

.wa-msg::before,
.wa-msg::after {
	content: '';
	position: absolute;
	top: 100%;
	border: 8px solid transparent
}

.wa-msg::before {
	right: calc(var(--wa-size) / 2 - 8px);
	border-top-color: var(--line)
}

.wa-msg::after {
	right: calc(var(--wa-size) / 2 - 7px);
	border-width: 7px;
	border-top-color: #fff
}

.wa-msg b {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ink);
	line-height: 1.4;
	margin-bottom: 3px
}

.wa-msg i {
	display: block;
	font-style: normal;
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--text)
}

.wa-msg a:hover b {
	color: var(--gold-dark)
}

.wa-msg button {
	flex: none;
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	margin: -2px -4px 0 0;
	border-radius: 50%;
	color: var(--muted);
	transition: background .2s, color .2s
}

.wa-msg button:hover {
	background: var(--gold-soft);
	color: var(--ink)
}

.wa-msg button svg {
	width: 10px;
	height: 10px;
	fill: currentColor
}

.footer-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 65;
	display: none;
	align-items: center;
	justify-content: space-between;
	background: rgba(255, 255, 255, .72);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border-top: 6px solid var(--gold);
	border-top-left-radius: 2.15rem;
	border-top-right-radius: 2.15rem;
	box-shadow: 0 -4px 30px rgba(37, 38, 42, .12);
	padding: 0 .5rem 1.15rem;
	padding-bottom: calc(1.15rem + env(safe-area-inset-bottom))
}

.footer-sticky .sticky-box {
	width: 20%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	cursor: pointer
}

.footer-sticky .sticky-box .icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	background: transparent
}

.footer-sticky .sticky-box .icon svg {
	width: 22px;
	height: 22px;
	fill: var(--ink)
}

.footer-sticky .sticky-box .text {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--ink);
	text-align: center
}

.footer-sticky .top-box {
	transform: translateY(-1.5rem)
}

.footer-sticky .top-box .icon {
	position: relative;
	background: var(--ink);
	border-radius: 50%
}

.footer-sticky .top-box .icon svg {
	fill: var(--gold)
}

.footer-sticky .top-box .icon::before,
.footer-sticky .top-box .icon::after {
	content: "";
	position: absolute;
	border: 1px solid var(--ink);
	border-radius: 50%
}

.footer-sticky .top-box .icon::before {
	width: 66px;
	height: 66px;
	opacity: .5
}

.footer-sticky .top-box .icon::after {
	width: 56px;
	height: 56px;
	opacity: .75
}

.footer-sticky .top-box .text {
	transform: translateY(1.5rem)
}

@media (max-width:568px) {
	.footer-sticky .sticky-box .text {
		font-size: 10px
	}
}

.modal {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	visibility: hidden;
	transition: opacity .26s, visibility .26s
}

.modal.is-open {
	opacity: 1;
	visibility: visible
}

.modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(37, 38, 42, .55);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px)
}

.modal-card {
	position: relative;
	overflow: hidden;
	width: 100%;
	max-width: 420px;
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 24px 60px rgba(37, 38, 42, .3);
	padding: 34px 30px 28px;
	text-align: center;
	transform: translateY(14px) scale(.96);
	transition: transform .26s
}

.modal.is-open .modal-card {
	transform: none
}

.modal-icon {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background: var(--gold-soft)
}

.modal-icon svg {
	width: 31px;
	height: 31px;
	fill: var(--gold-dark)
}

.modal-icon-err,
.modal--err .modal-icon-ok {
	display: none
}

.modal--err .modal-icon {
	background: #fdecea
}

.modal--err .modal-icon-err {
	display: block;
	fill: #c0392b
}

.modal-title {
	display: block;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ink);
	margin-bottom: 9px
}

.modal-text {
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--text);
	margin-bottom: 22px
}

.modal-detail {
	max-height: 150px;
	overflow: auto;
	margin: 0 0 20px;
	padding: 11px 13px;
	border-radius: var(--r);
	background: #faf9f7;
	border: 1px solid var(--line);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 11.5px;
	line-height: 1.55;
	color: #6b6d75;
	text-align: left;
	white-space: pre-wrap;
	word-break: break-word
}

.modal-detail[hidden] {
	display: none
}

.modal-timer {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 3px;
	background: var(--gold);
	transform: scaleX(0);
	transform-origin: left
}

.modal-timer.is-running {
	animation: modalTimer 5s linear forwards
}

@keyframes modalTimer {
	from {
		transform: scaleX(1)
	}

	to {
		transform: scaleX(0)
	}
}

@media (prefers-reduced-motion:reduce) {
	.modal-timer {
		display: none
	}
}

@media (max-width:480px) {
	.modal-card {
		padding: 28px 22px 24px
	}

	.modal-title {
		font-size: 16.5px
	}
}

@media (max-width:1080px) {
	.about {
		grid-template-columns: 1fr;
		gap: 38px
	}

	.tests {
		grid-template-columns: repeat(2, 1fr)
	}

	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 36px
	}
}

@media (max-width:940px) {
	.services {
		grid-template-columns: repeat(2, 1fr)
	}

	.cta-card {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 42px 40px
	}

	.cta-text {
		max-width: none
	}

	.phones {
		min-width: 0
	}

	.wa,
	.wa-msg {
		display: none
	}

	.footer-sticky {
		display: flex
	}

	.copyright {
		padding: 20px 0 120px
	}
}

@media (max-width:768px) {
	.section {
		padding: 56px 0
	}

	.header .container {
		min-height: 76px;
		gap: 12px
	}

	.tel div {
		display: none
	}

	.logo img {
		height: 54px
	}

	.footer-grid {
		grid-template-columns: 1fr;
		gap: 32px
	}
}

@media (max-width:600px) {
	body {
		font-size: 15.5px
	}

	.hero {
		padding: 48px 0 54px
	}

	.hero-btns .btn {
		flex: 1 1 100%
	}

	.services,
	.tests,
	.panels,
	.row,
	.vals {
		grid-template-columns: 1fr
	}

	.test--wide {
		grid-column: span 1;
		grid-template-columns: 1fr
	}

	.test--wide .ico {
		margin-bottom: 15px
	}

	.test--wide h3,
	.test--wide .txt {
		grid-column: 1
	}

	.form-card {
		padding: 26px 20px
	}

	.note {
		font-size: 14.5px;
		padding: 14px 16px
	}

	.head {
		margin-bottom: 34px
	}

	.actions .btn {
		padding: 11px 18px;
		font-size: 14px
	}

	.logo img {
		height: 46px
	}

	.brand>a {
		padding: 10px 14px
	}

	.brand img {
		height: 70px
	}

	.copyright .container {
		justify-content: center;
		text-align: center
	}

	.cta {
		padding: 16px 0 52px
	}

	.cta-card {
		padding: 32px 24px;
		border-radius: 18px;
		gap: 26px
	}

	.phone {
		padding: 12px 16px;
		gap: 11px;
		border-radius: 12px
	}

	.phone span {
		width: 34px;
		height: 34px;
		border-radius: 10px
	}

	.phone span svg {
		width: 17px;
		height: 17px
	}
}

@media (prefers-reduced-motion:reduce) {
	html {
		scroll-behavior: auto
	}

	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important
	}
}

:focus-visible {
	outline: 2px solid var(--gold-dark);
	outline-offset: 3px;
	border-radius: 3px
}

main:focus,
main section:focus {
	outline: none
}

.skip-link {
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 200;
	transform: translate(-50%, -120%);
	padding: 12px 22px;
	border-radius: 0 0 var(--r) var(--r);
	background: var(--gold);
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	box-shadow: var(--shadow-lg);
	transition: transform .2s
}

.skip-link:focus {
	transform: translate(-50%, 0)
}