/* ============================
RESET & BASE
============================ */
*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	scroll-behavior: smooth;
}

html,
body {
	background: #E2E4EB;
	color: #0D2056;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	overflow-x: hidden;
}

a {
	text-decoration: none;
	color: inherit;
}

button {
	cursor: pointer;
	border: none;
	background: none;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
}

img {
	display: block;
}

/* ============================
SECTION TITLES
============================ */
.section-title {
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 50px;
	line-height: 0.96em;
	letter-spacing: -0.03em;
	color: #0D2056;
}

/* ============================
BUTTONS
============================ */
.btn-main {
	display: inline-flex;
	align-items: center;
	width: 272px;
	height: 48px;
	background: #0D2056;
	color: #E2E4EB;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.111em;
	letter-spacing: -0.01em;
	padding-left: 16px;
	padding-right: 16px;
	white-space: nowrap;
	flex-shrink: 0;
}

.btn-main span {
	flex: 1;
}

.btn-detail {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px;
	background: #0D2056;
	color: #E2E4EB;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.143em;
	letter-spacing: -0.01em;
}

/* ============================
HEADER — 1440×64
Figma: x:0, y:0, 1440×64
============================ */
.header {
	position: sticky;
	top: 0;
	z-index: 100;
	width: 100%;
	max-width: 1440px;
	height: 64px;
	background: #E2E4EB;
	margin: 0 auto;
}

/* Logo: x:20, y:16, 90×32 */
.header-logo {
	position: absolute;
	left: 20px;
	top: 16px;
	width: 90px;
	height: 32px;
	overflow: hidden;
}

.logo-img {
	width: 90px;
	height: 32px;
	object-fit: cover;
	object-position: left center;
}

/* Nav: x:492, y:24 — row, gap 32px */
.header-nav {
	position: absolute;
	left: 492px;
	top: 24px;
	display: flex;
	align-items: center;
	gap: 32px;
}

.nav-item-dropdown {
	display: flex;
	align-items: center;
	gap: 5px;
	cursor: pointer;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.143em;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: #0D2056;
	position: relative;
}

.nav-link {
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.143em;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: #0D2056;
	cursor: pointer;
	white-space: nowrap;
	position: relative;
}

/* Sliding underline on desktop nav */
.nav-link::after,
.nav-item-dropdown::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 0;
	height: 2px;
	background: #0D2056;
	transition: width 0.25s ease;
}
.nav-link:hover::after,
.nav-item-dropdown:hover::after {
	width: 100%;
}

/* Social icons: TikTok x:1106, Telegram x:1143, Instagram x:1184 — y:24 */
.social-icons {
	position: absolute;
	left: 1106px;
	top: 24px;
	display: flex;
	align-items: center;
	gap: 21px;
}

.social-icon {
	width: 16px;
	height: 16px;
}

/* Search circle: x:1268, y:24 */
.search-btn {
	position: absolute;
	left: 1268px;
	top: 24px;
	width: 16px;
	height: 16px;
	cursor: pointer;
	background: #0D2056;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.search-btn img {
	width: 10px;
	height: 10px;
}

/* Phone: x:1293, y:24 */
.header-phone {
	position: absolute;
	left: 1293px;
	top: 24px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1em;
	letter-spacing: -0.03em;
	color: #0D2056;
	white-space: nowrap;
}

/* ============================
HERO — 1 block
Canvas: x:16, y:64, 1408×720
Image frame (Frame 2): x:0,y:0, 1408×560 (overflow hidden)
Image: x:-16, y:-154, 1440 wide
Text: x:0, y:576 (16px below image)
Button: x:1136, y:672
============================ */
.hero {
	max-width: 1440px;
	margin: 0 auto;
}

.hero-inner {
	margin: 0 16px;
	position: relative;
}

/* Image area: 1408×560, overflow hidden */
.hero-image-wrap {
	width: 1408px;
	height: 560px;
	overflow: hidden;
	position: relative;
}

.hero-img {
	position: absolute;
	left: -16px;
	top: -154px;
	width: 1440px;
	max-width: none;
	height: auto;
}

/* Subtle dark gradient at bottom of image */
.hero-gradient {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 200px;
	background: linear-gradient(to bottom, transparent 0%, rgba(13, 32, 86, 0.08) 100%);
	pointer-events: none;
}

/* Hero bottom area: 1408×160 (y:560–720 within 1 block)
Text at local y:16 (= 576-560), button at local y:112 (= 672-560) */
.hero-bottom {
	width: 1408px;
	height: 160px;
	position: relative;
}

.hero-title {
	position: absolute;
	left: 0;
	top: 16px;
	width: 576px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 50px;
	line-height: 0.96em;
	letter-spacing: -0.03em;
	color: #0D2056;
}

.hero-btn {
	position: absolute;
	left: 1136px;
	top: 112px;
}

/* ============================
WHY + STATS — 2 block
Canvas: x:16, y:1024, 1400×584
240px gap from hero (1024-784=240)
Title group: x:476, y:0, 472×248
Stats group: x:0, y:368, 1400×216
============================ */
.why-section {
	max-width: 1440px;
	margin: 240px auto 0;
}

.why-inner {
	margin: 0 16px;
	height: 368px;
	/* space up to stats row */
	position: relative;
}

/* Title at x:476, y:0 */
.why-title-block {
	position: absolute;
	left: 476px;
	top: 0;
	width: 472px;
}

.why-title-block .section-title {
	width: 352px;
	height: 144px;
}

/* Description text: x:0, y:184 within title block */
.why-desc {
	position: absolute;
	left: 0;
	top: 184px;
	width: 472px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1em;
	letter-spacing: -0.03em;
	color: #0D2056;
}

/* Stats row: y:368, 1400×216 */
.stats-row {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 16px;
	height: 216px;
	display: flex;
	align-items: flex-start;
}

.stat-item {
	position: relative;
	height: 216px;
}

/* Widths from Figma: group1=466, group2=466, group3=448, gaps=10px */
.stat-item-1 {
	width: 466px;
}

.stat-item-2 {
	width: 466px;
	margin-left: 10px;
}

.stat-item-3 {
	width: 448px;
	margin-left: 10px;
}

/* Top horizontal line (stroke 4px) */
.stat-top-line {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: #0D2056;
}

/* Number: y:80 */
.stat-num {
	position: absolute;
	top: 80px;
	left: 0;
	font-family: 'Manrope', sans-serif;
	font-size: 112px;
	line-height: 0.893em;
	letter-spacing: -0.05em;
	color: #0D2056;
}

.stat-num--light {
	font-weight: 400;
}

.stat-num--bold {
	font-weight: 700;
}

/* Groups 2 & 3 have numbers at x:43 */
.stat-num-indent {
	left: 43px;
}

/* Label: y:192 */
.stat-label {
	position: absolute;
	top: 192px;
	left: 0;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.333em;
	letter-spacing: -0.03em;
	color: #0D2056;
}

.stat-label-indent {
	left: 43px;
}

/* Vertical divider: right edge, y:8, height:203 */
.stat-divider-v {
	position: absolute;
	right: -7px;
	top: 8px;
	width: 4px;
	height: 203px;
	background: #0D2056;
}

/* ============================
SERVICES — 3 block
Canvas: x:16, y:1848, 1408×576
240px gap from 2 block end (1608+240=1848)
Title: x:0, y:0, 576×48
Cards at y:120, 456×456 each, gap 20px
============================ */
.services-section {
	max-width: 1440px;
	margin: 240px auto 0;
}

.services-inner {
	margin: 0 16px;
}

.services-title {
	margin-bottom: 72px;
	/* gap to cards = 120-48=72 */
}

.services-grid {
	display: flex;
	gap: 20px;
	/* 476-456=20 between cards */
	align-items: flex-start;
}

/* Card: 456×456 */
.service-card {
	width: 456px;
	flex-shrink: 0;
}

/* Image: 456×336 */
.service-card-img {
	width: 456px;
	height: 336px;
	overflow: hidden;
	flex-shrink: 0;
}

.service-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Title: y:352, gap from image = 16px */
.service-card-title {
	display: block;
	margin-top: 16px;
	width: 192px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.333em;
	letter-spacing: -0.03em;
	color: #0D2056;
}

/* Button: y:424 → 424-336-16=72px after title area starts */
.btn-detail {
	margin-top: 8px;
}

/* ============================
OBJECTS — 4 block
Canvas: x:16, y:2664, 1408×1104
240px gap from 3 block end (2424+240=2664)
Title: x:476, y:0, 238×96
Row 1 cards: y:168
Row 2 cards: y:600 (168+408+24=600)
Button: x:476, y:1056, 272×48
============================ */
.objects-section {
	max-width: 1440px;
	margin: 240px auto 0;
}

.objects-inner {
	margin: 0 16px;
	position: relative;
	min-height: 1104px;
}

/* Title: x:476, y:0 */
.objects-title-wrap {
	position: absolute;
	left: 476px;
	top: 0;
	width: 302px;
}

/* Cards: y:168, two rows flex-wrap with auto row gap */
.objects-grid {
	position: absolute;
	left: 0;
	top: 168px;
	width: 1408px;
	display: flex;
	flex-wrap: wrap;
	column-gap: 20px;
	row-gap: 24px;
	/* 600-168-408=24 between rows */
}

/* Card: 456×408 */
.object-card {
	width: 456px;
	flex-shrink: 0;
	position: relative;
}

/* Image: 456×336 */
.object-card-img {
	width: 456px;
	height: 336px;
	overflow: hidden;
}

.object-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Info area: below image, height 72px */
.object-card-info {
	width: 456px;
	height: 72px;
	position: relative;
}

/* Thin horizontal divider line: y:16 within info (= y:352-336=16 from card top relative to info) */
.object-card-line {
	position: absolute;
	top: 16px;
	left: 0;
	width: 456px;
	height: 1px;
	background: #0D2056;
	opacity: 0.2;
}

/* Thin vertical divider: x:280, y:16, height:48 */
.object-card-divider-v {
	position: absolute;
	left: 280px;
	top: 16px;
	width: 1px;
	height: 48px;
	background: #0D2056;
	opacity: 0.2;
}

/* "ЖК" label: x:0, y:24 (opacity 0.4) */
.object-card-cat {
	position: absolute;
	left: 0;
	top: 24px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.143em;
	letter-spacing: -0.03em;
	color: #0D2056;
	opacity: 0.4;
}

/* "Квадратура" label: x:302, y:24 */
.object-card-cat-right {
	position: absolute;
	left: 302px;
	top: 24px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.143em;
	letter-spacing: -0.03em;
	color: #0D2056;
	opacity: 0.4;
}

/* "AVALON UP": x:0, y:40 */
.object-card-name {
	position: absolute;
	left: 0;
	top: 40px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.6em;
	letter-spacing: -0.03em;
	color: #0D2056;
}

/* "86 m²": x:302, y:40 */
.object-card-size {
	position: absolute;
	left: 302px;
	top: 40px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.6em;
	letter-spacing: -0.03em;
	color: #0D2056;
}

/* Button: x:476, y:1056 */
.objects-btn-wrap {
	position: absolute;
	left: 476px;
	top: 1056px;
}

/* ============================
REVIEWS — 5 block
Canvas: x:16, y:4008, 1408×504
240px gap from 4 block end (3768+240=4008)
Title: x:0, y:0, 352×96
Arrows: x:1334 and x:1384, y:72 (24×24)
Divider line: y:168, 1408×4
Cards: y:208, 456×295 each, gap 20px
============================ */
.reviews-section {
	max-width: 1440px;
	margin: 240px auto 0;
}

.reviews-inner {
	margin: 0 16px;
	position: relative;
	min-height: 504px;
}

/* Title+arrows header row */
.reviews-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

/* Arrows at x:1334 and x:1384, y:72 */
.reviews-arrows {
	display: flex;
	gap: 26px;
	/* 1384-1334-24=26 */
	align-items: center;
	margin-top: 72px;
}

.reviews-arrow {
	width: 24px;
	height: 24px;
	cursor: pointer;
}

/* Divider line: y:168, 4px */
.reviews-divider {
	position: absolute;
	top: 168px;
	left: 0;
	width: 1408px;
	height: 4px;
	background: #0D2056;
}

/* Cards: y:208 */
.reviews-grid {
	position: absolute;
	top: 208px;
	left: 0;
	width: 100%;
	overflow: hidden;
}

.reviews-track {
	display: flex;
	gap: 20px;
	transition: transform 0.4s ease;
	will-change: transform;
}

.review-card {
	width: 456px;
	height: 295px;
	overflow: hidden;
	flex-shrink: 0;
}

.review-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ============================
FOOTER
Canvas: x:14, y:4752, 1410×603
240px gap from 5 block end (4512+240=4752)

CONTACTS (29:290): x:2,y:0, 704×424
top line (OSSS0G): x:0, y:0, 690×0 stroke 4px
title: x:2, y:25, 352×96
phone group: x:0, y:240, 181×48
mail group: x:262, y:240, 341×48
social: x:0, y:336, 152×55
VERT DIVIDER (MU6NAI): x:704, y:16, 0×408 stroke 4px
FORM (29:291): x:720, y:0, 690×391
top line: x:0, y:0, 690×0 stroke 4px
title: x:20, y:24, 352×96
name input: x:22, y:144, 525×80
phone input: x:22, y:240, 525×80
button: x:22, y:343, 272×48
BIG LOGO: x:1, y:469, 1405.5×105.46
COPYRIGHT: x:1237, y:587, 14px
============================ */
.footer {
	max-width: 1440px;
	margin: 240px auto 0;
}

.footer-inner {
	margin: 0 16px;
	position: relative;
	min-height: 430px;
	padding-bottom: 48px;
}

/* ---- CONTACTS block: 704×424 ---- */
.footer-contacts {
	position: absolute;
	left: 2px;
	top: 0;
	width: 704px;
	height: 424px;
}

/* Top line at y:0 */
.footer-contacts-line {
	position: absolute;
	top: 0;
	left: 0;
	width: 690px;
	height: 4px;
	background: #0D2056;
}

/* Title: x:2, y:25 */
.footer-contacts-title {
	position: absolute;
	left: 2px;
	top: 25px;
	width: 352px;
}

/* Phone+mail row at y:240 */
.footer-contacts-row {
	position: absolute;
	top: 240px;
	left: 0;
	display: flex;
}

.footer-contact-item {
	display: flex;
	flex-direction: column;
}

.footer-contact-item--phone {
	width: 181px;
}

.footer-contact-item--mail {
	margin-left: 81px;
}

/* 262-181=81 */

.footer-contact-label {
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.143em;
	letter-spacing: -0.03em;
	color: #0D2056;
	opacity: 0.4;
}

.footer-contact-value {
	margin-top: 4px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.333em;
	letter-spacing: -0.03em;
	color: #0D2056;
}

/* Social row at y:336 */
.footer-social-row {
	position: absolute;
	top: 336px;
	left: 0;
	display: flex;
	gap: 147px;
}

.footer-social-label {
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.143em;
	letter-spacing: -0.03em;
	color: #0D2056;
	opacity: 0.4;
	margin-bottom: 8px;
}

.footer-social-icons {
	display: flex;
	align-items: center;
	gap: 32px;
	/* TikTok x:0, Telegram x:64, Instagram x:128 */
	margin-top: 8px;
}

/* ---- VERTICAL DIVIDER: x:704, y:16, 4px × 408 ---- */
.footer-divider-v {
	position: absolute;
	left: 706px;
	top: 16px;
	width: 4px;
	height: 408px;
	background: #0D2056;
}

/* ---- FORM block: x:720, 690×391 ---- */
.footer-form {
	position: absolute;
	left: 720px;
	top: 0;
	width: 690px;
}

/* Top line */
.footer-form-line {
	width: 690px;
	height: 4px;
	background: #0D2056;
}

/* Title: x:20, y:24 */
.footer-form-title {
	position: absolute;
	left: 20px;
	top: 24px;
	width: 352px;
}

/* Name input group: x:22, y:144, 525×80 */
.form-group-name {
	position: absolute;
	left: 22px;
	top: 144px;
	width: 525px;
	height: 80px;
}

/* Phone input group: x:22, y:240, 525×80 */
.form-group-phone {
	position: absolute;
	left: 22px;
	top: 240px;
	width: 525px;
	height: 80px;
}

/* Form button: x:22, y:343, 272×48 */
.form-btn {
	position: absolute;
	left: 22px;
	top: 343px;
}

.form-label {
	display: block;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.143em;
	letter-spacing: -0.03em;
	color: #0D2056;
	opacity: 0.4;
	margin-bottom: 8px;
}

.form-input {
	display: block;
	width: 525px;
	height: 56px;
	background: #FFFFFF;
	border: none;
	outline: none;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #0D2056;
	padding: 0 16px;
}

/* ============================
FOOTER BIG LOGO + COPYRIGHT
Logo: x:1, y:469, 1405.5×105.46
Copyright: x:1237, y:587
============================ */
.footer-logo-wrap {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 16px;
	position: relative;
}

.footer-top-line {
	width: 100%;
	height: 4px;
	background: #0D2056;
}

.footer-logo-big {
	width: 100%;
	height: auto;
	display: block;
	margin-top: 16px;
}

.footer-copy {
	display: block;
	text-align: right;
	margin-top: 4px;
	padding-bottom: 16px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.143em;
	letter-spacing: -0.03em;
	color: #0D2056;
}

/* ============================
BURGER BUTTON
============================ */
.burger-btn {
	display: none;
	position: absolute;
	right: 20px;
	top: 18px;
	width: 28px;
	height: 20px;
	flex-direction: column;
	justify-content: space-between;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	z-index: 200;
}

.burger-btn span {
	display: block;
	width: 28px;
	height: 3px;
	background: #0D2056;
	transition: transform 0.3s, opacity 0.3s;
	transform-origin: center;
}

.burger-btn.is-open span:nth-child(1) {
	transform: translateY(8.5px) rotate(45deg);
}

.burger-btn.is-open span:nth-child(2) {
	opacity: 0;
}

.burger-btn.is-open span:nth-child(3) {
	transform: translateY(-8.5px) rotate(-45deg);
}

/* ============================
MOBILE MENU OVERLAY
============================ */
.mobile-menu {
	display: none;
	position: fixed;
	top: 64px;
	left: 0;
	right: 0;
	bottom: 0;
	background: #E2E4EB;
	z-index: 10;
	flex-direction: column;
	padding: 32px 24px;
	gap: 0;
	overflow-y: auto;
	transform: translateY(-100%);
	transition: transform 0.3s ease;
}

.mobile-menu.is-open {
	transform: translateY(0);
}

body.menu-open {
	overflow: hidden;
}

.mobile-nav {
	display: flex;
	flex-direction: column;
	gap: 0;
	border-top: 4px solid #0D2056;
}

.mobile-nav-item {
	display: block;
	padding: 20px 0;
	border-bottom: 1px solid rgba(13, 32, 86, 0.15);
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: #0D2056;
	cursor: pointer;
	transition: padding-left 0.22s ease, opacity 0.22s ease;
}
.mobile-nav-item:hover {
	padding-left: 14px;
	opacity: 0.65;
}

.mobile-phone {
	display: block;
	margin-top: 32px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 22px;
	letter-spacing: -0.03em;
	color: #0D2056;
}

.mobile-social {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-top: 24px;
}

/* ============================
RESPONSIVE — TABLET (768–1023px)
============================ */
@media (max-width: 1023px) {

	/* Header: hide desktop nav, show burger */
	.header-nav,
	.social-icons,
	.search-btn,
	.header-phone {
		display: none;
	}

	.burger-btn {
		display: flex;
	}

	.mobile-menu {
		display: flex;
	}

	/* Hero */
	.hero-image-wrap {
		width: 100%;
		height: 420px;
	}

	.hero-img {
		position: static;
		left: auto;
		top: auto;
		width: 100%;
		height: 420px;
		max-width: 100%;
		object-fit: cover;
	}

	.hero-bottom {
		width: 100%;
		height: auto;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
		padding: 24px 0 32px;
	}

	.hero-title {
		position: static;
		width: 100%;
		font-size: 38px;
	}

	.hero-btn {
		position: static;
	}

	/* Why section */
	.why-section {
		margin-top: 120px;
	}

	.why-inner {
		height: auto;
		margin-bottom: 48px;
	}

	.why-title-block {
		position: static;
		width: 100%;
		margin-bottom: 0;
	}

	.why-desc {
		position: static;
		width: 100%;
		margin-top: 16px;
	}

	/* Stats */
	.stats-row {
		flex-wrap: wrap;
		gap: 0;
		height: auto;
	}

	.stat-item {
		height: auto;
		padding-bottom: 24px;
		padding-top: 12px;
	}

	.stat-item-1,
	.stat-item-2,
	.stat-item-3 {
		width: calc(33.333% - 8px);
		margin-left: 0;
	}

	.stat-item-2 {
		margin-left: 12px;
	}

	.stat-item-3 {
		margin-left: 12px;
	}

	.stat-num {
		position: static;
		display: block;
		font-size: 72px;
		margin-top: 12px;
	}

	.stat-num-indent {
		margin-left: 0;
	}

	.stat-label {
		position: static;
		display: block;
		margin-top: 8px;
		font-size: 14px;
	}

	.stat-label-indent {
		margin-left: 0;
	}

	.stat-divider-v {
		position: absolute;
		right: -2px;
		top: 0;
		height: 100%;
	}

	/* Services */
	.services-section {
		margin-top: 120px;
	}

	.services-grid {
		flex-wrap: wrap;
		gap: 20px;
	}

	.service-card {
		width: calc(50% - 10px);
	}

	.service-card:last-child {
		width: 100%;
	}

	.service-card-img {
		width: 100%;
		height: 260px;
	}

	/* Objects */
	.objects-section {
		margin-top: 120px;
	}

	.objects-inner {
		position: static;
		min-height: auto;
	}

	.objects-title-wrap {
		position: static;
		width: 100%;
		margin-bottom: 32px;
	}

	.objects-grid {
		position: static;
		width: 100%;
	}

	.object-card {
		width: calc(50% - 10px);
	}

	.object-card-img {
		width: 100%;
		height: 260px;
	}

	.object-card-info {
		width: 100%;
	}

	.object-card-line {
		width: 100%;
	}

	.objects-btn-wrap {
		position: static;
		margin-top: 32px;
	}

	/* Reviews */
	.reviews-section {
		margin-top: 120px;
	}

	.reviews-inner {
		position: static;
		min-height: auto;
	}

	.reviews-divider {
		position: static;
		width: 100%;
		margin-top: 24px;
	}

	.reviews-grid {
		position: static;
		width: 100%;
		margin-top: 24px;
	}

	.review-card {
		height: auto;
		flex-shrink: 0;
	}

	.review-card img {
		height: auto;
	}

	/* Footer */
	.footer {
		margin-top: 120px;
	}

	.footer-inner {
		position: static;
		min-height: auto;
		display: flex;
		flex-direction: column;
		padding-bottom: 0;
	}

	.footer-contacts {
		position: static;
		width: 100%;
		height: auto;
	}

	.footer-contacts-line {
		position: static;
		width: 100%;
	}

	.footer-contacts-title {
		position: static;
		margin-top: 24px;
		width: 100%;
	}

	.footer-contacts-row {
		position: static;
		margin-top: 32px;
		flex-wrap: wrap;
		gap: 24px;
	}

	.footer-contact-item--mail {
		margin-left: 0;
	}

	.footer-contact-value {
		font-size: 18px;
	}

	.footer-social-row {
		position: static;
		margin-top: 24px;
		gap:90px;
	}

	.footer-divider-v {
		display: none;
	}

	.footer-form {
		position: static;
		left: auto;
		width: 100%;
		margin-top: 48px;
	}

	.footer-form-title {
		position: static;
		margin-top: 24px;
		width: 100%;
	}

	.form-group-name {
		position: static;
		width: 100%;
		height: auto;
		margin-top: 32px;
	}

	.form-group-phone {
		position: static;
		width: 100%;
		height: auto;
		margin-top: 24px;
	}

	.form-input {
		width: 100%;
	}

	.form-btn {
		position: static;
		margin-top: 24px;
	}
}

/* ============================
RESPONSIVE — MOBILE (≤767px)
============================ */
@media (max-width: 767px) {

	.section-title {
		font-size: 32px;
	}

	/* Hero */
	.hero-image-wrap {
		height: 240px;
	}

	.hero-img {
		height: 240px;
	}

	.hero-title {
		font-size: 26px;
	}

	.btn-main {
		width: 100%;
		max-width: 320px;
		font-size: 16px;
	}

	/* Why section */
	.why-section {
		margin-top: 64px;
	}

	/* Stats: vertical */
	.stats-row {
		flex-direction: column;
	}

	.stat-item-1,
	.stat-item-2,
	.stat-item-3 {
		width: 100%;
		margin-left: 0;
	}

	.stat-num {
		font-size: 80px;
	}

	.stat-divider-v {
		display: none;
	}

	.stat-item {
		border-bottom: 1px solid rgba(13, 32, 86, 0.2);
		padding-bottom: 16px;
		margin-bottom: 8px;
	}

	.stat-top-line {
		margin-bottom: 0;
	}

	/* Services */
	.services-section {
		margin-top: 64px;
	}

	.services-title {
		margin-bottom: 32px;
	}

	.services-grid {
		flex-direction: column;
		gap: 32px;
	}

	.service-card {
		width: 100%;
	}

	.service-card-img {
		width: 100%;
		height: 220px;
	}

	.service-card-title {
		width: 100%;
		font-size: 20px;
	}

	/* Objects */
	.objects-section {
		margin-top: 64px;
	}

	.objects-grid {
		flex-direction: column;
		gap: 32px;
		row-gap: 32px;
	}

	.object-card {
		width: 100%;
	}

	.object-card-img {
		width: 100%;
		height: 220px;
	}

	.object-card-info {
		width: 100%;
	}

	.object-card-line {
		width: 100%;
	}

	.object-card-divider-v {
		left: auto;
		right: 40%;
	}

	.object-card-cat-right {
		left: auto;
		right: 0;
	}

	.object-card-size {
		left: auto;
		right: 0;
	}

	/* Reviews */
	.reviews-section {
		margin-top: 64px;
	}

	.review-card {
		flex-shrink: 0;
	}

	/* Footer */
	.footer {
		margin-top: 64px;
	}

	.footer-contact-value {
		font-size: 16px;
		word-break: break-all;
	}

	.footer-logo-wrap {
		padding: 0 16px;
	}
}







/* ============================
ANIMATIONS
============================ */

/* --- Scroll reveal --- */
.fade-up {
	opacity: 0;
}

@keyframes revealUp {
	from {
		opacity: 0;
		transform: translateY(32px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.fade-up.is-visible {
	animation: revealUp 0.65s ease forwards;
}

/* --- Hero load --- */
@keyframes heroLoad {
	from {
		opacity: 0;
		transform: translateY(18px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.hero-title {
	animation: heroLoad 0.8s ease 0.15s both;
}

.hero-btn {
	animation: heroLoad 0.7s ease 0.4s both;
}

/* --- Hero Ken Burns --- */
@keyframes kenBurns {
	from {
		transform: scale(1);
	}

	to {
		transform: scale(1.05);
	}
}

.hero-img {
	animation: kenBurns 10s ease-in-out infinite alternate;
}

/* --- Card hover lift --- */
.service-card,
.object-card {
	transition: transform 0.28s ease, box-shadow 0.28s ease;
	cursor: pointer;
}

.service-card:hover,
.object-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 40px rgba(13, 32, 86, 0.1);
}

/* --- Buttons --- */
.btn-main {
	transition: filter 0.2s ease, transform 0.2s ease;
}

.btn-main:hover {
	filter: brightness(1.18);
	transform: translateY(-1px);
}

.btn-detail {
	transition: filter 0.2s ease;
}

.btn-detail:hover {
	filter: brightness(1.2);
}

/* --- Social icons --- */
.social-icon {
	transition: transform 0.2s ease;
	cursor: pointer;
}

.social-icon:hover {
	transform: scale(1.28);
}

/* --- Slider arrows --- */
.reviews-arrow {
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.reviews-arrow:hover {
	transform: scale(1.2);
	opacity: 0.55;
}

/* --- Scroll to top --- */
.scroll-top {
	position: fixed;
	bottom: 32px;
	right: 32px;
	width: 48px;
	height: 48px;
	background: #0D2056;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 500;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s ease, transform 0.35s ease;
}
.scroll-top img {
	width: 20px;
	height: 20px;
	transform: rotate(135deg);
	display: block;
	filter: invert(1);
}
.scroll-top.is-visible {
	opacity: 1;
	pointer-events: auto;
}
.scroll-top:hover {
	transform: translateY(-3px);
}

/* --- Reduced motion --- */
/* ============================
INNER PAGE — HERO OVERRIDE
Image 512px instead of 560px
============================ */
.inner-hero .hero-image-wrap {
	height: 512px;
}

/* ============================
INNER PAGE — INTRO
Avatar 88×88 + description text
x:476 (same column as why-section)
============================ */
.intro-section {
	max-width: 1440px;
	margin: 50px auto 0;
}
.intro-inner {
	display: flex;
	align-items: flex-start;
	gap: 32px;
}
.intro-avatar {
	width: 30%;
	height: 88px;
	flex-shrink: 0;
	overflow: hidden;
}
.intro-avatar img {
	width: 88px;
	height: 88px;
	object-fit: cover;
}
.intro-text {
	max-width: 642px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 32px;
	letter-spacing: -0.03em;
	color: #0D2056;
}

/* ============================
INNER PAGE — STEPS
Numbered list 01–09
============================ */
.steps-section {
	max-width: 1440px;
	margin: 240px auto 0;
}
.steps-inner {
	margin: 0 16px;
}
.steps-title {
	margin-bottom: 48px;
}
.steps-list {
	width: 100%;
}
.step-item {
	display: flex;
	align-items: flex-start;
	gap: 32px;
	padding: 20px 0;
	border-top: 1px solid #0d20562b;
}
.step-item:last-child {
	border-bottom: 4px solid #0D2056;
}
.step-num {
	flex-shrink: 0;
	width: 30%;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.5em;
	letter-spacing: -0.03em;
	color: #0D2056;
	opacity: 0.4;
}
.step-text {
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.333em;
	letter-spacing: -0.03em;
	color: #0D2056;
}
.step-content {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.step-bullets {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-left: 0;
}
.step-bullets li {
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.5em;
	letter-spacing: -0.03em;
	color: #0D2056;
	padding-left: 16px;
	position: relative;
}
.step-bullets li::before {
	content: '•';
	position: absolute;
	left: 0;
}

/* INNER PAGE RESPONSIVE — tablet */
@media (max-width: 1023px) {
	.intro-inner {
		padding-left: 0;
		flex-direction: column;
		gap: 24px;
	}
	.intro-text {
		max-width: 100%;
	}
	.intro-section,
	.steps-section {
		margin-top: 120px;
	}
}

/* INNER PAGE RESPONSIVE — mobile */
@media (max-width: 767px) {
	.intro-section,
	.steps-section {
		margin-top: 64px;
	}
	.step-text {
		font-size: 16px;
	}
	.steps-title {
		margin-bottom: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {

	.fade-up,
	.hero-title,
	.hero-btn {
		animation: none;
		opacity: 1;
	}

	.hero-img {
		animation: none;
	}

	.service-card,
	.object-card,
	.btn-main,
	.btn-detail,
	.social-icon,
	.reviews-arrow {
		transition: none;
	}
}


.dev-design .hero-bottom{height: 240px; border-bottom: 4px solid #0D2056;}



/* ============================
DROPDOWN MENU
============================ */

/* Desktop dropdown panel */
.nav-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 280px;
	padding-top: 12px;
	background: transparent;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-6px);
	transition: opacity 0.22s ease, transform 0.22s ease;
	z-index: 200;
	display: flex;
	flex-direction: column;
}
.nav-dropdown::before {
	content: '';
	position: absolute;
	inset: 12px 0 0;
	background: #E2E4EB;
	border-top: 3px solid #0D2056;
	box-shadow: 0 8px 24px rgba(13, 32, 86, 0.12);
	z-index: -1;
}
.nav-item-dropdown:hover .nav-dropdown {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
.nav-dropdown-item {
	display: block;
	padding: 14px 18px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: -0.01em;
	color: #0D2056;
	text-transform: none;
	border-bottom: 1px solid rgba(13, 32, 86, 0.12);
	transition: background 0.18s ease, padding-left 0.18s ease;
}
.nav-dropdown-item:last-child { border-bottom: none; }
.nav-dropdown-item:hover {
	background: rgba(13, 32, 86, 0.06);
	padding-left: 24px;
}

/* Mobile dropdown sub-menu */
.mobile-nav-item--has-sub {
	display: flex;
	align-items: center;
	justify-content: space-between;
	user-select: none;
}
.mobile-nav-item--has-sub svg {
	transition: transform 0.22s ease;
	flex-shrink: 0;
}
.mobile-nav-item--has-sub.is-open svg {
	transform: rotate(180deg);
}
.mobile-nav-sub {
	display: none;
	flex-direction: column;
	border-bottom: 1px solid rgba(13, 32, 86, 0.15);
}
.mobile-nav-sub.is-open {
	display: flex;
}
.mobile-nav-sub-item {
	display: block;
	padding: 14px 0 14px 18px;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: -0.01em;
	color: #0D2056;
	border-top: 1px solid rgba(13, 32, 86, 0.08);
	transition: padding-left 0.18s ease, opacity 0.18s ease;
}
.mobile-nav-sub-item:hover {
	padding-left: 28px;
	opacity: 0.65;
}







.document {
	max-width: 860px;
	margin: 0 auto;
	background: #fff;
	padding: 60px 70px;
	box-shadow: 0 2px 20px rgba(0,0,0,0.08);
}

.document .doc-header {
	text-align: center;
	margin-bottom: 50px;
	padding-bottom: 30px;
	border-bottom: 2px solid #1a1a1a;
}

.document .doc-header h1 {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.document .doc-header .subtitle {
	font-size: 15px;
	color: #555;
	font-style: italic;
}

.document section {
	margin-bottom: 36px;
}

.document h2 {
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 14px;
	padding-bottom: 6px;
	border-bottom: 1px solid #ddd;
}

.document h3 {
	font-size: 15px;
	font-weight: 700;
	margin: 18px 0 8px;
}

.document p {
	margin-bottom: 10px;
}

.document .clause {
	margin-bottom: 10px;
}

.document .clause-num {
	font-weight: 600;
}

.document ul.dash-list {
	list-style: none;
	padding-left: 20px;
	margin: 8px 0 10px;
}

.document ul.dash-list li {
	position: relative;
	padding-left: 16px;
	margin-bottom: 4px;
}

.document ul.dash-list li::before {
	content: '—';
	position: absolute;
	left: 0;
}

.document dl.terms {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 0;
	border-top: 1px solid #ddd;
}

.document dl.terms dt {
	font-weight: 700;
	padding: 12px 16px 12px 0;
	border-bottom: 1px solid #eee;
}

.document dl.terms dd {
	padding: 12px 0;
	border-bottom: 1px solid #eee;
	color: #333;
}

.document .requisites {
	background: #f9f9f7;
	border: 1px solid #ddd;
	padding: 24px 28px;
	margin-top: 10px;
}

.document .requisites table {
	border-collapse: collapse;
	width: 100%;
}

.document .requisites table td {
	padding: 5px 12px 5px 0;
	vertical-align: top;
}

.document .requisites table td:first-child {
	font-weight: 600;
	white-space: nowrap;
	color: #555;
	width: 180px;
}

.document .doc-footer {
	margin-top: 50px;
	padding-top: 20px;
	border-top: 1px solid #ddd;
	font-size: 13px;
	color: #888;
	text-align: center;
}

@media (max-width: 680px) {
	.document { padding: 30px 20px; }
	.document dl.terms { grid-template-columns: 1fr; }
	.document dl.terms dt { border-bottom: none; padding-bottom: 2px; }
	.document .requisites table td:first-child { width: auto; display: block; }
	.document .requisites table td { display: block; padding: 2px 0; }
}




@media(max-width:450px){
	.footer-social-row{    flex-direction: column;gap:25px;}
}