/*!
Theme Name: Belhouse
Theme URI: https://t.me/winzerok
Author: Zhukov Anton
Author URI: https://t.me/winzerok
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: belhouse
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Belhouse is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
 :root {
    /* Fluid typography вЂ” scales smoothly from 320px to 1920px */
    --small-font: clamp(13px, 11.6px + 0.44vw, 20px);
    --medium-font: clamp(14px, 12px + 0.625vw, 24px);
    --large-font: clamp(22px, 12.4px + 3vw, 70px);

    /* Fluid spacing scale */
    --sp-5: clamp(3px, 2.6px + 0.125vw, 5px);
    --sp-8: clamp(5px, 4.4px + 0.1875vw, 8px);
    --sp-10: clamp(6px, 5.2px + 0.25vw, 10px);
    --sp-12: clamp(7px, 6px + 0.3125vw, 12px);
    --sp-15: clamp(8px, 6.6px + 0.4375vw, 15px);
    --sp-17: clamp(10px, 8.6px + 0.4375vw, 17px);
    --sp-20: clamp(12px, 10.4px + 0.5vw, 20px);
    --sp-24: clamp(14px, 12px + 0.625vw, 24px);
    --sp-25: clamp(14px, 11.8px + 0.6875vw, 25px);
    --sp-28: clamp(16px, 13.6px + 0.75vw, 28px);
    --sp-30: clamp(16px, 13.2px + 0.875vw, 30px);
    --sp-35: clamp(18px, 14.6px + 1.0625vw, 35px);
    --sp-40: clamp(20px, 16px + 1.25vw, 40px);
    --sp-50: clamp(25px, 20px + 1.5625vw, 50px);
    --sp-60: clamp(30px, 24px + 1.875vw, 60px);
    --sp-70: clamp(35px, 28px + 2.1875vw, 70px);
    --sp-80: clamp(35px, 26px + 2.8125vw, 80px);
    --sp-100: clamp(40px, 28px + 3.75vw, 100px);
}

* {
    font-family: 'Gilroy', sans-serif;
    position: relative;
    box-sizing: border-box;
    outline: none;
}

summary::marker {
  content: "";
}

body {
    padding: 0;
    margin: 0;
    background: #FFF;
    overflow-x: hidden;
    font-size: var(--small-font);
}

h1 {
    margin-top: var(--sp-15);
    color: #131313;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
}

.wrapper {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 15px;
}

.row {
    display: flex;
    flex-direction: row;
}

.header-fixed.in-main {
    position: fixed;
    z-index: 11;
    top: 0;
    left:0;
    right:0;
    background: rgba(255, 255, 255, 0);
    transition: .3s ease-in-out;
}

.header-fixed.without-main + div,
.header-fixed.without-main + main {
    margin-top: 0;
}

.header-fixed.in-main.fixed {
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 0 15px rgba(0, 0, 0, .4);
}

.header-fixed.in-main > .wrapper {
    overflow: hidden;
    max-height: 200px;
    transition: max-height .3s ease-in-out;
}

.header-fixed.in-main.fixed > .wrapper {
    max-height: 0;
}

body.admin-bar .header-fixed.in-main {
    padding-top: var(--sp-30);
}

body.admin-bar .header-video,
body.admin-bar .header-vrow {
    top: -32px;
}

.card-mitek--logo {
	border-radius: 18px;
	overflow: hidden;
}

.card-mitek--logo img {
    max-width: 100%;
}

.header-fixed.without-main {
    position: sticky;
    top: 0;
    z-index: 11;
    background: #FFF;
    transition: box-shadow .3s ease-in-out;
}

.header-fixed.without-main.fixed {
    box-shadow: 0 0 15px rgba(0, 0, 0, .4);
}

.header-vrow {
    z-index: 2;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: url("img/header-bg-overlay-2.png") center center no-repeat;
    background-size:cover;
    padding-top: clamp(70px, 45px + 6.25vw, 165px);
}

.header-video {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

header.big_screen {
    min-height: 100vh;
    /* background: url("img/header.png") top center no-repeat;
    background-size: cover; */
}

.header-line--info {
    padding: var(--sp-17) var(--sp-15);
    /* background-image: linear-gradient(180deg, rgba(0, 0, 0, .7), transparent); */
}

.header-line--info-position {
    color: #FFF;
    font-size: var(--small-font);
    font-weight: 400;
    line-height: 1.1;
    max-width: 33%;
    padding-left: var(--sp-25);
}

.header-line--info-position a {
    color: #FFF;
    font-size: var(--small-font);
    font-weight: 400;
    text-decoration: none;
    line-height: 1.1;
}

.fixed .header-line--info-position,
.fixed .header-line--info-position a,
.without-main .header-line--info-position,
.without-main .header-line--info-position a {
    color: #333;
}

.header-line--info-position::before {
    content:"";
    background: url("img/header-position.png") no-repeat;
    background-size: contain;
    position:absolute;
    width: 16px;
    height: 16px;
    left: 0;
    top: 0;
}

.fixed .header-line--info-position::before,
.without-main .header-line--info-position::before {
    background-image: url("img/header-position-black.png");
}

.header-line--info .row {
    gap: var(--sp-40);
    justify-content: space-between;
}

.header-line--info-social {
    display: flex;
    gap: 5px;
}

.header-line--info-social_item {
    width: 40px;
    height: 40px;
    background: #E21D26;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    transition: background .3s ease-in-out;
}

.header-line--info-social_item:hover {
    background: #b50008;
}

.header-line--info-social_item a {
    display: flex;
    width: 100%;
    height: 100%;
}

.header-line--info-social_item.vk-icon a {
    background: url("img/vk-icon.png") center center no-repeat;
    background-size: 20px;
}

.header-line--info-social_item.tg-icon a {
    background: url("img/tg-icon.png") center center no-repeat;
    background-size: 20px;
}

.header-line--info-social_item.yt-icon a {
    background: url("img/yt-icon.png") center center no-repeat;
    background-size: 20px;
}

.header-line--info-social_item.dzen-icon a {
    background: url("img/dzen-icon.png") center center no-repeat;
    background-size: 20px;
}

.header-line--info-social_item.max-icon a {
    background: url("img/max-icon.png") center center no-repeat;
    background-size: 20px;
}

.header-line--info-contacts {
    display: flex;
    flex-direction: column;
}

.header-line--info-contacts_tel {
    font-size: var(--medium-font);
    color: #FFF;
    font-weight: 700;
    line-height: 1.1;
    display: flex;
    white-space: nowrap;
}

.header-line--info-contacts_wtime {
    display: flex;
    align-items: center;
    font-size: var(--small-font);
    color: #FFF;
    font-weight: 400;
    line-height: 1.1;
    text-align: right;
    margin-top: 3px;
    justify-content: flex-end;
    white-space: nowrap;
}

.fixed .header-line--info-contacts_tel,
.fixed .header-line--info-contacts_wtime,
.without-main .header-line--info-contacts_tel,
.without-main .header-line--info-contacts_wtime {
    color: #333;
}

.header-line--info-contacts_wtime::before {
    content: "";
    width: 4px;
    height: 4px;
    background: #E21D26;
    border-radius: 50%;
    margin-right: 7px;
}

/* === Header contacts dropdown === */
.header-contacts-dropdown {
    position: relative;
}

.header-contacts-toggle {
    cursor: pointer;
    user-select: none;
    align-items: center;
    gap: 6px;
}

.header-contacts-arrow {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .3s ease;
    margin-left: 4px;
    position: relative;
    top: -2px;
}

.header-contacts-dropdown.open .header-contacts-arrow {
    transform: rotate(-135deg);
    top: 2px;
}

.header-contacts-dropdown--menu {
    display: none;
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .12);
    padding: var(--sp-24) var(--sp-28);
    min-width: 280px;
    z-index: 1000;
    flex-direction: column;
}

.header-contacts-dropdown.open .header-contacts-dropdown--menu {
    display: flex;
}

.header-contacts-dropdown--section {
    margin-bottom: var(--sp-15);
}

.header-contacts-dropdown--section:last-of-type {
    margin-bottom: var(--sp-20);
}

.header-contacts-dropdown--label {
    font-size: var(--small-font);
    color: #888;
    margin-bottom: 8px;
    font-weight: 400;
}

.header-contacts-dropdown--item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 0;
    font-size: var(--small-font);
    color: #333;
    text-decoration: none;
    font-weight: 500;
    transition: color .2s;
}

.header-contacts-dropdown--item:hover {
    color: #1B7A4A;
}

.header-contacts-dropdown--icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    flex-shrink: 0;
    background-size: 18px;
    background-position: center;
    background-repeat: no-repeat;
}

.header-contacts-dropdown--icon.phone-icon {
    background-color: #1B7A4A;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z'/%3E%3C/svg%3E");
}

.header-contacts-dropdown--icon.email-icon {
    background-color: #e8e8e8;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23333' viewBox='0 0 16 16'%3E%3Cpath d='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2Zm13 2.383-4.708 2.825L15 11.105V5.383Zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741ZM1 11.105l4.708-2.897L1 5.383v5.722Z'/%3E%3C/svg%3E");
}

.header-contacts-dropdown--icon.tg-msg-icon {
    background-color: #2AABEE;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.287 5.906c-.778.324-2.334.994-4.666 2.01-.378.15-.577.298-.595.442-.03.243.275.339.69.47l.175.055c.408.133.958.288 1.243.294.26.006.549-.1.868-.32 2.179-1.471 3.304-2.214 3.374-2.23.05-.012.12-.026.166.016.047.041.042.12.037.141-.03.129-1.227 1.241-1.846 1.817-.193.18-.33.307-.358.336a8.154 8.154 0 0 1-.188.186c-.38.366-.664.64.015 1.088.327.216.589.393.85.571.284.194.568.387.936.629.094.06.183.125.27.187.331.236.629.448.99.414.21-.02.427-.22.537-.82.26-1.42.77-4.494.888-5.768a.917.917 0 0 0-.007-.194.22.22 0 0 0-.053-.112c-.07-.07-.183-.083-.23-.083-.354.007-.9.196-3.502 1.29z'/%3E%3C/svg%3E");
}

.header-contacts-dropdown--icon.wa-icon {
    background-color: #25D366;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.116.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.116-.198-.012-.304.087-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.325-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.529.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z'/%3E%3C/svg%3E");
}

.header-contacts-dropdown--link {
    display: block;
    font-size: var(--small-font);
    color: #1B7A4A;
    text-decoration: none;
    margin-bottom: var(--sp-15);
    font-weight: 500;
    transition: color .2s;
}

.header-contacts-dropdown--link:hover {
    color: #145a37;
}

.header-contacts-dropdown--btn {
    display: block;
    width: 100%;
    padding: 14px var(--sp-20);
    background: #1B7A4A;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: var(--small-font);
    font-weight: 600;
    cursor: pointer;
    text-align: center;
    transition: background .2s;
}

.header-contacts-dropdown--btn:hover {
    background: #145a37;
}
/* === End header contacts dropdown === */

.header-line--menu {
    backdrop-filter: blur(16px);
    /* box-shadow: 0 0 30px rgba(0,0,0,.4); */
    border-top: 1px solid transparent;
    transition: .3s ease-in-out;
}

.header-line--menu .row > div:nth-child(2) {
	display: flex;
	justify-content: center;
}

.fixed .header-line--menu {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.without-main .header-line--menu {
    background: rgba(0,0,0,0.03);
}

.header-line--menu .wrapper {
    z-index: 2;
}

.header-line--menu .row {
    align-items: stretch;
}

.header-line--logo,
.header-line--submenu {
    align-self: center;
}

.header-line-menu--menu {
    margin-left: 0;
    flex: 1;
    display: flex;
    justify-content: center;
    align-self: stretch;
}

.header-line-menu--menu nav {
    display: flex;
    align-self: stretch;
}

.header-line-menu--menu nav > ul {
    display: flex;
    align-items: stretch;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: var(--sp-30);
}

.header-line-menu--menu nav > ul > li {
    position: relative;
    display: flex;
    align-items: stretch;
}

.header-line-menu--menu nav > ul > li > a {
    display: flex;
    align-items: center;
}

.header-line-menu--menu a {
    text-decoration: none;
    color: #FFF;
	font-size: var(--small-font);
    font-weight: 400;
}

.fixed .header-line-menu--menu a,
.without-main .header-line-menu--menu a {
    color: #333;
}

.header-line--logo_img img {
    height: 86px;
}

.header-line--logo a {
    display: block;
}

.header-line--logo {
    z-index: 2;
}

.header-line--submenu {
    margin-left: auto;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding: var(--sp-15);
}

.header-line--submenu-btn {
    display: inline-block;
    font-weight: 700;
    color: #FFF;
    text-decoration: none;
    background: #0D6047;
    border-radius: 10px;
    padding: var(--sp-15) var(--sp-20);
    transition: .3s ease-in-out;
}

.header-line--submenu-btn:hover {
    background: #063c2c;
}

.header-line--submenu-sandwich {
    display: none;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
    align-items: center;
    background: #131313;
    padding: 0 var(--sp-17);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    border: none;
    cursor: pointer;
}

.header-line--submenu-sandwich span {
    display: block;
    width: 15px;
    background: #FFF;
    height: 0;
    border: 1px solid #FFF;
}

.header-big--content {
    padding: var(--sp-40) 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.header-big--title {
    font-weight: 600;
    color: #FFF;
    font-size: clamp(1.6rem, calc(0.72rem + 4.4vw), 6rem);
    line-height: 0.9;
    max-width: 60%;
}

.header-big--title .header-big--title_red-text {
    color: #E21D26;
}

.header-big--title_img {
    max-width: 50px;
    line-height: 1;
}

.header-big--description {
    margin-top: var(--sp-15);
    color: #FFF;
    font-weight: 400;
    font-size: clamp(0.9rem, calc(0.62rem + 1.4vw), 2.3rem);
}

.header-big--btn {
    margin-top: var(--sp-20);
    max-width: 500px;
}

.header-big--btn a {
    display: inline-block;
    font-weight: 600;
    color: #FFF;
    text-decoration: none;
    background: #E21D26;
    border-radius: 10px;
    font-size: clamp(0.9rem, calc(0.78rem + 0.6vw), 1.5rem);
    padding: var(--sp-15) var(--sp-20);
    transition: .3s ease-in-out;
}

.header-big--adventages {
    display: flex;
    align-items: stretch;
    gap: 8px;
    margin-top: var(--sp-40);
}

.header-big--adventages-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    backdrop-filter: blur(20px);
    padding: var(--sp-20);
    border-radius: 24px;
    color: #FFF;
    font-weight: 600;
}

.header-big--adventages-item::before {
    content: "";
    background: url("img/icon-list.png") no-repeat center center #0D6047;
    background-size: 16px;
    width: 40px;
    height: 40px;
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 2;
    border-radius: 50%;
}

.header-big--adventages-item_title {
    font-size: var(--large-font);
}

.header-big--adventages-item_text {
    margin-top: 8px;
    font-size: var(--small-font);
}

.white-box {
    padding: var(--sp-20) 0;
}

.main-slider {
    margin-top: var(--sp-20);
    position: relative;
}

.main-slider img {
    width: 100%;
}

.main-slider .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    cursor: pointer;
    font-size: 0;
    transition: background 0.3s, box-shadow 0.3s;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.main-slider .slick-arrow:hover {
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

.main-slider .slick-arrow::before {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    border-top: 2.5px solid #333;
    border-right: 2.5px solid #333;
    position: absolute;
    top: 50%;
}

.main-slider .slick-prev {
    left: 20px;
}

.main-slider .slick-prev::before {
    transform: translate(-50%, -50%) rotate(-135deg);
    left: 55%;
}

.main-slider .slick-next {
    right: 20px;
}

.main-slider .slick-next::before {
    transform: translate(-50%, -50%) rotate(45deg);
    left: 45%;
}

.main-about {
    padding: var(--sp-60) 0;
}

.main-about--copy {
    font-size: var(--medium-font);
    font-weight: 400;
}

.main-about--row {
    display: flex;
    gap: clamp(30px, 6.25px + 7.5vw, 150px);
    background: url("img/bear.png") center top no-repeat;
    background-size: contain;
    padding-bottom: var(--sp-40);
}

.main-about--row > div {
    flex: 1;
}

.main-about--row-title {
    color: #131313;
    font-size: var(--large-font);
    font-weight: 600;
    line-height: 0.9;
    margin-top: var(--sp-15);
}

.main-about--row-title .br {
    display:block;
}

.main-about--row-content {
    max-width: 33.33%;
    display: flex;
    flex-direction: column;
    padding-left: 10px;
}

.main-about--row-content span {
    display: block;
    color: #131313;
    font-size: var(--small-font);
    margin-top: var(--sp-15);
}

.main-about--row-content_btn {
    display: block;
    font-weight: 700;
    color: #FFF;
    text-decoration: none;
    background: #E21D26;
    border-radius: 10px;
    padding: var(--sp-20);
    margin-top: auto;
}

.main-about--advantages {
    display: flex;
    align-items: stretch;
    gap: var(--sp-25);
    margin-top: 10px;
    flex-wrap: wrap;
    padding: 0 var(--sp-15);
}

.main-about--advantages-item {
    width: 100%;
    max-width: calc(33.333% - 16.666px);
    display: flex;
    flex-direction: column;
    background: #FFF;
    padding: 2rem;
    box-shadow: 0 4px 12px rgba(0,0,0,.1);
    border-radius: 5px;
    color: #5b5b5b;
    font-weight: 600;
}

.main-about--advantages-item_img {
    margin-right: var(--sp-20);
}

.main-about--advantages-item_title {
    font-size: var(--medium-font);
    line-height: 105%;
    display: flex;
    align-items: center;
    color: #242227;
}

.main-about--advantages-item_text {
    margin-top: var(--sp-20);
    font-size: var(--small-font);
    color: #5b5b5b;
    font-weight: 500;
    line-height: 130%;
}

.main-about--advantages-item_text .br {
    display: block;
}

.main-history {
    padding: var(--sp-50) 0;
    background: url("img/history.png") center center no-repeat;
    background-size: cover;
}

.main-history--info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--sp-30);
    border-radius: 25px;
    backdrop-filter: blur(30px);
    color: #FFF;
}

.main-history--info-play {
    display: flex;
    align-items: center;
    gap: var(--sp-15);
}

.main-history--info-play_icon {
    width: 95px;
    height: 95px;
    border-radius: 50%;
    background: url("img/play-icon.png") 55% center no-repeat #E21D26;
}

.main-history--info-play_text {
    font-size: var(--small-font);
    font-weight: 400;
}

.main-history--info-play_text .br {
    display: block;
}

.main-history--info-contacts_item-title {
    display: block;
    line-height: 1.1;
    font-weight: 700;
    font-size: var(--small-font);
    padding-left: var(--sp-20);
}

.main-history--info-contacts_item-title::before {
    content: "";
    width: 12px;
    height: 12px;
    position: absolute;
    left: 0;
    top: calc(50% - 6px);
}

.phone .main-history--info-contacts_item-title::before {
    background: url("img/red-phone.png") center center / contain no-repeat;
}

.email .main-history--info-contacts_item-title::before {
    background: url("img/red-mail.png") center center / contain no-repeat;
}

.main-history--info-contacts_item-text {
    font-weight: 400;
    line-height: 1.1;
    margin-top: 5px;
    padding-left: 12px;
    margin-left: var(--sp-20);
}

.main-history--info-contacts_item-text::before {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #E21D26;
    position: absolute;
    left: 0;
    top: calc(50% - 2px);
}

.main-history--info-contacts {
    display: flex;
    flex-direction: column;
    gap: var(--sp-20);
}

.main-history--row {
    display: flex;
    color: #FFF;
    margin-top: var(--sp-60);
    margin-right: var(--sp-20);
}

.main-history--row-column.left {
    flex: 1;
}

.main-history--row-column.right {
    flex: 1;
}

.main-history--row-column_title {
    font-size: var(--large-font);
    font-weight: 600;
    line-height: 0.9;
}

.main-history--row-column_title span {
    color: #E21D26;
}

.main-history--row-column {
    display: flex;
    flex-direction: column;
    gap: var(--sp-25);
}

.main-history--row-column_text {
    font-size: var(--small-font);
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: 1px;
}

.main-history--row-column_btn {
    display: inline-block;
    font-weight: 700;
    color: #FFF;
    text-decoration: none;
    background: #E21D26;
    border-radius: 10px;
    padding: var(--sp-20);
    margin-top: auto;
    align-self: flex-start;
    min-width: 250px;
}

.main-catalog {
    margin-top: var(--sp-40);
}

.main-catalog--subtitle {
    color: #131313;
    text-align: center;
    font-size: var(--medium-font);
    font-weight: 400;
    padding-top: var(--sp-60);
}

.main-catalog--title {
    margin-top: var(--sp-15);
    color: #131313;
    font-size: var(--large-font);
    text-align: center;
    line-height: 0.9;
    font-weight: 600;
}

.main-catalog--title.text-left {
    text-align: left;
}

.main-catalog--title .br {
    display: block;
}

.main-catalog--row {
    margin-top: var(--sp-40);
    display: flex;
    flex-wrap: wrap;
}

.main-catalog--row-item {
    width: 100%;
    max-width: 33.333%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: .5s ease-in-out;
    cursor: pointer;
}

.main-catalog--row-item_img {
    padding-bottom: 100%;
    background-size: cover;
    transition: .5s ease-in-out;
    pointer-events: none;
}

.main-catalog--row-item_title {
    position: absolute;
    bottom: -27px;
    left: 30px;
    right: 30px;
    font-size: var(--medium-font);
    color: #FFF;
    z-index: 2;
    font-weight: 600;
    opacity: 0;
    text-shadow: 0px 0px 10px rgba(0,0,0,0);
    transition: .5s ease-in-out;
}

.main-catalog--row-item_btn {
    display: block;
    font-weight: 700;
    color: #FFF;
    text-decoration: none;
    background: #E21D26;
    border-radius: 10px;
    padding: var(--sp-20);
    margin-top: auto;
    align-self: flex-start;
    position:absolute;
    left: 20px;
    right: 20px;
    bottom: -100px;
    opacity: 0;
    z-index: 3;
    box-shadow: 0px 0px 20px rgba(0,0,0,.7);
    transition: .5s ease-in-out;
    display: none;
}

.main-catalog--row-item_img-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(209.11deg, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0.9) 93.24%);
    opacity: 0;
    transition: .3s ease-in-out;
}

/* .main-catalog--row-item:hover .main-catalog--row-item_btn {
    bottom: 30px;
    opacity: 1;
} */

.main-catalog--row-item .main-catalog--row-item_title {
    bottom: 27px;
    text-shadow: 0px 0px 10px rgba(0,0,0,1);
    opacity: 1;
}

.main-catalog--row-item .main-catalog--row-item_img-overlay {
    opacity: 1;
}

/* .main-catalog--row-item:hover .main-catalog--row-item_img {
    min-height: 360px;
} */

/* .main-catalog--row-item:hover {
    padding-bottom: 10px;
} */

.main-quiz {
    padding: var(--sp-100) 0 var(--sp-40);
}

.main-quiz img {
    max-width: 100%;
}

/* в”Ђв”Ђ Calculator block в”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђ */
.calc-block {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.calc-block--header {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
    color: #fff;
    padding: var(--sp-40) var(--sp-50);
}

.calc-block--subtitle {
    font-size: var(--small-font);
    text-transform: uppercase;
    letter-spacing: 2px;
    opacity: 0.7;
    margin-bottom: 10px;
}

.calc-block--title {
    font-size: var(--large-font);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 8px;
}

.calc-block--desc {
    font-size: var(--medium-font);
    opacity: 0.8;
}

.calc-block--body {
    padding: var(--sp-40) var(--sp-50);
}

.calc-block--row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-30) var(--sp-50);
    margin-bottom: var(--sp-30);
}

.calc-block--group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.calc-block--label {
    font-size: var(--small-font);
    font-weight: 600;
    color: #333;
}

.calc-block--options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.calc-block--btn {
    padding: 10px var(--sp-20);
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    background: #fff;
    font-size: var(--small-font);
    font-weight: 500;
    color: #333;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: 'Gilroy', sans-serif;
}

.calc-block--btn:hover {
    border-color: #E21D26;
    color: #E21D26;
}

.calc-block--btn.active {
    background: #E21D26;
    border-color: #E21D26;
    color: #fff;
}

.calc-block--slider-wrap {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.calc-block--range {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    background: #e0e0e0;
    border-radius: 3px;
    outline: none;
}

.calc-block--range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    background: #E21D26;
    border-radius: 50%;
    cursor: pointer;
    border: 3px solid #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.calc-block--range::-moz-range-thumb {
    width: 22px;
    height: 22px;
    background: #E21D26;
    border-radius: 50%;
    cursor: pointer;
    border: 3px solid #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.calc-block--range-labels {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #999;
}

.calc-block--footer {
    display: flex;
    gap: var(--sp-20);
    align-items: stretch;
    margin-top: 10px;
}

.calc-block--phone-group {
    flex: 1;
    max-width: 320px;
}

.calc-block--phone {
    width: 100%;
    height: 100%;
    padding: 14px var(--sp-20);
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    font-size: 16px;
    font-family: 'Gilroy', sans-serif;
    transition: border-color 0.2s;
}

.calc-block--phone:focus {
    border-color: #E21D26;
}

.calc-block--submit {
    padding: var(--sp-15) var(--sp-40);
    background: #E21D26;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: var(--medium-font);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s;
    font-family: 'Gilroy', sans-serif;
    white-space: nowrap;
}

.calc-block--submit:hover {
    background: #b50008;
}

.card-mitek--header-col {
    max-width: 66.666%;
    width: 100%;
}

.card-mitek--header-col.card-mitek--header-col_img  {
    max-width: calc(33.333% - 10px);
    width: 100%;
    font-size: 0;
}


.card-mitek--header-col_img img {
    max-width: 100%;
}

.calc-block--privacy {
    margin-top: var(--sp-15);
    font-size: 13px;
    color: #999;
}

.calc-area--value {
    color: #E21D26;
    font-weight: 700;
}

@media (max-width: 768px) {
    .calc-block--header {
        padding: 30px 25px;
    }

    .calc-block--title {
        font-size: 26px;
    }

    .calc-block--body {
        padding: 25px;
    }

    .calc-block--row {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .calc-block--footer {
        flex-direction: column;
    }

    .calc-block--phone-group {
        max-width: 100%;
    }

    .calc-block--btn {
        padding: 8px 14px;
        font-size: 14px;
    }
}

.main-projects {
    padding-bottom: var(--sp-60);
    width: 100%;
}

.main-projects--title {
    margin-top: var(--sp-15);
    color: #131313;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
}

.main-projects--title .br {
    display: block;
}

.main-projects--subtitle {
    color: #131313;
    font-size: var(--medium-font);
    font-weight: 400;
    padding-top: var(--sp-60);
}

.main-projects--row {
    display: flex;
    flex-wrap: wrap;
    margin-top: var(--sp-40);
}

.main-projects--row-item {
    width: 100%;
    max-width: 33.333%;
    background: #282828;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: .5s ease-in-out;
    cursor: pointer;
    position: relative;
}

.main-projects--row-item_img {
    padding-bottom: 75%;
    background-size: cover;
    background-position: center center;
    transition: .5s ease-in-out;
    pointer-events: none;
}

.main-projects--row-item:hover .main-projects--row-item_img {
    background-size: cover;
}

.main-projects--row-item_info {
    padding: var(--sp-17) var(--sp-20);
    color: #FFF;
    text-shadow: 0px 0px 10px rgba(0,0,0,0);
    position: absolute;
    z-index: 2;
    left: 10px;
    right: 10px;
    bottom: 10px;
    transition: .5s ease-in-out;
}

.main-projects--row-item_info-title {
    font-size: var(--medium-font);
    color: #FFF;
    z-index: 2;
    font-weight: 600;
    transition: .5s ease-in-out;
}

.main-projects--row-item_info-square {
    font-size: var(--small-font);
    margin: var(--sp-15) 0 10px;
    font-weight: 400;
    display: flex;
    align-items: center;
}

.main-projects--row-item_info-square::before {
    content:"";
    background:url("img/square.png") center center no-repeat;
    background-size: contain;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    display: block;
}

.main-projects--row-item_info-price {
    font-size: var(--small-font);
    color: #FFF;
    z-index: 2;
    font-weight: 300;
    margin-top: 8px;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity .5s ease-in-out, max-height .5s ease-in-out;
}

.main-projects--row-item_btn {
    display: block;
    font-weight: 700;
    color: #FFF;
    text-decoration: none;
    background: #E21D26;
    border-radius: 10px;
    padding: var(--sp-20);
    margin-top: auto;
    align-self: flex-start;
    position:absolute;
    left: 20px;
    right: 20px;
    bottom: -100px;
    opacity: 0;
    z-index: 3;
    box-shadow: 0px 0px 20px rgba(0,0,0,.7);
    transition: .5s ease-in-out;
    display: none;
}

.main-projects--row-item_img-overlay {
    opacity: 0;
    background: linear-gradient(209.11deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.9) 93.24%);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    transition: .3s ease-in-out;
}

/* .main-projects--row-item:hover .main-projects--row-item_btn {
    bottom: 30px;
    opacity: 1;
} */

.main-projects--row-item .main-projects--row-item_info {
    bottom: 10px;
    text-shadow: 0px 0px 10px rgba(0,0,0,1);
}

.main-projects--row-item:hover .main-projects--row-item_info-price {
    opacity: 1;
    max-height: 50px;
}

.main-projects--row-item .main-projects--row-item_img-overlay {
    opacity: 1;
}

/* .main-projects--row-item:hover .main-projects--row-item_img {
    min-height: 430px;
} */

/* .main-projects--row-item:hover {
    padding-bottom: 10px;
} */

/* Row Form */
.main-projects--row-form {
    width: 100%;
    background: #1e1e1e;
    padding: var(--sp-50) 0;
}

.main-projects--row-form_title {
    font-size: var(--large-font);
    font-weight: 700;
    color: #fff;
    margin-bottom: var(--sp-30);
}

.main-projects--row-form_body {
    display: flex;
    align-items: flex-end;
    gap: var(--sp-20);
}

.main-projects--row-form_group {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.main-projects--row-form_group--submit {
    flex: 0 0 auto;
}

.main-projects--row-form_label {
    font-size: var(--small-font);
    color: rgba(255,255,255,.6);
    margin-bottom: 8px;
    font-weight: 500;
}

.main-projects--row-form_input {
    background: #2c2c2c;
    border: 1px solid #444;
    border-radius: 8px;
    padding: 14px var(--sp-17);
    color: #fff;
    font-size: var(--small-font);
    transition: border-color .3s;
}

.main-projects--row-form_input::placeholder {
    color: rgba(255,255,255,.35);
}

.main-projects--row-form_input:focus {
    border-color: #E21D26;
}

.main-projects--row-form_file {
    display: flex;
    align-items: center;
    gap: 12px;
}

.main-projects--row-form_file-btn {
    display: inline-block;
    background: #2c2c2c;
    border: 1px solid #444;
    border-radius: 8px;
    padding: 14px var(--sp-24);
    color: #fff;
    font-size: var(--small-font);
    cursor: pointer;
    transition: background .3s, border-color .3s;
    white-space: nowrap;
}

.main-projects--row-form_file-btn:hover {
    background: #3a3a3a;
    border-color: #E21D26;
}

.main-projects--row-form_file-name {
    font-size: var(--small-font);
    color: rgba(255,255,255,.45);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 160px;
}

.main-projects--row-form_submit {
    background: #E21D26;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 14px var(--sp-35);
    font-size: var(--small-font);
    font-weight: 600;
    cursor: pointer;
    transition: background .3s;
    white-space: nowrap;
}

.main-projects--row-form_submit:hover {
    background: #c4181f;
}

.main-callback {
    padding: var(--sp-70) 0 var(--sp-50);
    background: url("img/callback-form.png") center center no-repeat;
    background-size: cover;
}

.main-callback--title {
    margin-top: var(--sp-15);
    color: #FFF;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
}

.main-callback--title .br {
    display: block;
}

.main-callback--subtitle {
    color: #FFF;
    margin-top: var(--sp-30);
    font-size: var(--medium-font);
    line-height: 1.1;
    max-width: 60%;
}

.main-callback--box {
    margin-top: var(--sp-100);
    padding: var(--sp-20);
    border-radius: 30px;
    backdrop-filter: blur(20px);
    color: #FFF;
}

.main-callback--box a {
    color: #FFF;
}

.main-callback--box-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.main-callback--box-row input {
    display: block;
    flex: 1;
    padding: var(--sp-30) var(--sp-25);
    border-radius: 10px;
    border: none;
    font-weight: 700;
    color: #131313;
    font-size: var(--small-font);
}

.main-callback--box-row input[type="submit"] {
    color: #FFF;
    background: #E21D26;
}

.main-callback--box input::placeholder {
    color: #9A9A9A;
    font-weight: 700;
}

.main-callback--box-label {
    display: flex;
    margin-top: 12px;
    align-items: flex-start;
    gap: 5px;
}

.main-video--subtitle {
    color: #131313;
    font-size: var(--medium-font);
    font-weight: 400;
    padding-top: var(--sp-60);
}

.main-video--head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--sp-30);
}

.main-video--title {
    margin-top: var(--sp-15);
    color: #131313;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
}

.main-video--nav {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}

.main-video--arrow {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1.5px solid #3a7d6e;
    background: transparent;
    color: #3a7d6e;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
    padding: 0;
}

.main-video--arrow:hover {
    background: #3a7d6e;
    color: #fff;
}

.main-video--arrow svg {
    width: 14px;
    height: 14px;
}

.main-video--row {
    margin-top: var(--sp-40);
    gap: 10px;
    padding: 0;
}

.main-video--row img {
    max-width: 100%;
    width: 100%;
}

.main-video--row .slick-slide {
    padding: 0 10px;
}

.main-video--row-item {
    display: block;
    font-size: 0;
    border-radius: 15px;
    overflow: hidden;
}

body.admin-bar {
    padding-top: var(--sp-30);
}

.main-video--row-item_play {
    padding: var(--sp-15);
    border-radius: 50%;
    overflow: hidden;
    backdrop-filter: blur(20px);
    position: absolute;
    z-index: 2;
    left: calc(50% - 47px);
    top: calc(50% - 47px);
}

.main-video--row-item_play-circle {
    width: 95px;
    height: 95px;
    border-radius: 50%;
    background: url("img/play-icon.png") 55% center no-repeat #E21D26;
    cursor:pointer;
}

.how-job--box {
    margin: var(--sp-60) 0 0;
    color: #FFF;
    padding: var(--sp-50);
    background: #282828;
    gap: var(--sp-30);
}

.how-job--box-subtitle {
    color: #FFF;
    text-align: center;
    font-size: var(--medium-font);
    font-weight: 400;
}

.how-job--box-title {
    margin-top: var(--sp-15);
    color: #FFF;
    text-align: center;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
}

.how-job--box-row {
    display: flex;
    gap: 10px;
    margin-top: var(--sp-40);
}

.how-job--box-row_item {
    background: #303030;
    padding: var(--sp-15);
    border-radius: 30px;
    flex: 1;
}

.how-job--box-row_item-text {
    margin-top: var(--sp-40);
    color: #FFF;
    font-size: var(--medium-font);
    font-weight: 400;
}

.how-job--box-row_item-stages {
    display: flex;
    align-items: center;
    gap: 6px;
}

.how-job--box-row_item-stages--list {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: url("img/icon-list.png") center center no-repeat #0D6047;
    background-size: 16px;
}

.how-job--box-row_item-stages--stage {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #E21D26;
}

.main-jobs--subtitle {
    color: #131313;
    font-size: var(--medium-font);
    font-weight: 400;
    padding-top: var(--sp-40);
}

.main-jobs--row {
    margin-top: var(--sp-15);
    display: flex;
}

.main-jobs--row-title {
    color: #131313;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
    max-width: 33.33%;
    width: 100%;
}

.main-jobs--row-text {
    margin-top: var(--sp-15);
    font-size: var(--small-font);
    color: #131313;
    font-weight: 400;
    max-width:66.66%;
    width: 100%;
}

.main-jobs--img {
    margin-top: var(--sp-50);
    padding: 0 var(--sp-15);
}

.main-jobs--img img {
    width: 100%;
}

.main-jobs--grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 10px;
    height: 560px;
}

.main-jobs--grid-item {
    border-radius: 20px;
    overflow: hidden;
}

.main-jobs--grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.main-jobs--grid-item:nth-child(1) {
    grid-column: 1;
    grid-row: 1 / 3;
}

.main-jobs--grid-item:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

.main-jobs--grid-item:nth-child(3) {
    grid-column: 3;
    grid-row: 1 / 3;
}

.main-jobs--grid-item:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
}

.main-jobs--grid-item:nth-child(5) {
    grid-column: 3;
    grid-row: 2;
}

.main-jobs--grid-item:nth-child(6) {
    grid-column: 4;
    grid-row: 1 / 3;
}

@media (max-width: 1024px) {
    .main-jobs--grid {
        height: 420px;
    }
}

@media (max-width: 768px) {
    .main-jobs--grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto auto;
        height: auto;
    }
    .main-jobs--grid-item:nth-child(1) {
        grid-column: 1;
        grid-row: 1;
    }
    .main-jobs--grid-item:nth-child(2) {
        grid-column: 2;
        grid-row: 1;
    }
    .main-jobs--grid-item:nth-child(3) {
        grid-column: 1;
        grid-row: 2;
    }
    .main-jobs--grid-item:nth-child(4) {
        grid-column: 2;
        grid-row: 2;
    }
    .main-jobs--grid-item:nth-child(5) {
        grid-column: 1;
        grid-row: 3;
    }
    .main-jobs--grid-item:nth-child(6) {
        grid-column: 2;
        grid-row: 3;
    }
    .main-jobs--grid-item {
        height: 200px;
    }
}

.main-jobs--btn {
    display: inline-block;
    min-width: 200px;
    font-weight: 700;
    color: #FFF;
    text-decoration: none;
    background: #E21D26;
    border-radius: 10px;
    padding: var(--sp-20);
    margin-top: var(--sp-40);
}

.main-map {
    padding: var(--sp-60) 0;
}

.main-map img {
    max-width: 100%;
}

/* Card Excursion */
.card-excursion {
    margin-top: var(--sp-60);
    padding: var(--sp-60) 0;
    border-top: 1px solid #E2E2E2;
}

.card-excursion--row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-60);
}

.card-excursion--content {
    max-width: 50%;
}

.card-excursion--title {
    color: #131313;
    font-size: var(--large-font);
    font-weight: 700;
    line-height: 1;
}

.card-excursion--text {
    color: #5b5b5b;
    font-size: var(--medium-font);
    font-weight: 400;
    line-height: 1.4;
    margin-top: var(--sp-20);
}

.card-excursion--form {
    max-width: 380px;
    width: 100%;
}

#excursion-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

#excursion-form input {
    padding: var(--sp-15) var(--sp-20);
    border-radius: 6px;
    border: 1px solid #E2E2E2;
    font-size: var(--small-font);
    font-family: inherit;
    outline: none;
    transition: border-color 0.3s ease;
}

#excursion-form input:focus {
    border-color: #0D6047;
}

#excursion-form input::placeholder {
    color: #999;
    font-size: var(--small-font);
}

#excursion-form input[type="submit"] {
    background: #0D6047;
    color: #FFF;
    font-weight: 600;
    font-size: var(--small-font);
    cursor: pointer;
    border: none;
    transition: background 0.3s ease;
}

#excursion-form input[type="submit"]:hover {
    background: #0a4e3a;
}

.footer {
    background-image: linear-gradient(to right, silver 2px, transparent 2px);
    background-repeat: repeat-x;
    background-size: 4px 1px;
    background-position: 0 0;
    background-color: #fafafa;
    padding: var(--sp-50) 0 var(--sp-20);
    margin-top: var(--sp-50);
}

.footer-menu {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer-menu a {
    font-size: var(--medium-font);
    color: #5b5b5b;
    text-decoration: none;
    font-weight: 700;
}

.footer-info--title {
    margin-bottom: var(--sp-20);
    font-size: var(--small-font);
    color: #5b5b5b;
}

.footer-info--description a,
.footer-info--description {
    display: block;
    color: #242227;
    font-size: var(--medium-font);
    font-style: normal;
    font-weight: 700;
    line-height: 26px;
    text-decoration: none;
}

.footer-col {
    display: flex;
    align-items: flex-start;
    /* margin-top: var(--sp-60); */
    gap: var(--sp-60);
}

.footer-info,
.footer-social {
    flex: 1;
    max-width: 25%;
}

.footer-line {
    border-top: 1px solid #e0e0e0;
    margin: var(--sp-20) 0;
}

.footer-info {
    display: flex;
    flex-direction: column;
    gap: var(--sp-20);
}

.footer-row {
    display: flex;
    justify-content: space-between;
}

.footer-text {
    color: #5b5b5b;
    font-size: var(--small-font);
    font-style: normal;
    font-weight: 400;
}

.footer-text.mt {
    margin-top: 14px;
}

.main-offers {
    padding: var(--sp-50) 0 var(--sp-60);
}

.footer-under--row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #5b5b5b;
    font-size: var(--small-font);
    font-style: normal;
    font-weight: 400;
}

.footer-logo img {
    max-width: 195px;
}

.footer-social {
    display: flex;
    flex-direction: column;
    gap: var(--sp-20);
}

.footer-social--line {
    display: flex;
    align-items: center;
    gap: var(--sp-20);
    margin-left: auto;
}

.footer-social--item {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 3px solid #e0e0e0;
}

.footer-social--item.vk {
    background: url("img/vk-color.svg") center center no-repeat;
    background-size: contain;
}

.footer-social--item.rutube {
    background: url("img/rutube-color.svg") center center no-repeat;
    background-size: contain;
}

.footer-social--item.dzen {
    background: url("img/dzen-color.svg") center center no-repeat;
    background-size: contain;
}

.footer-social--item.tg {
    background: url("img/tg-color.svg") center center no-repeat;
    background-size: contain;
}

.footer-social--item.yt {
    background: url("img/yt-color.svg") center center no-repeat;
    background-size: contain;
}

.footer-social--item.pinterest {
    background: url("img/pinterest-color.svg") center center no-repeat;
    background-size: contain;
}

.offers-row {
    display: flex;
    justify-content: center;
    gap: var(--sp-20);
    flex-wrap: wrap;
    margin-top: var(--sp-60);
    padding: 0 var(--sp-15);
}

.offers-item {
    width: 100%;
    max-width: calc(33.333% - 13.333px);
    background: #303030;
    border-radius: 10px;
}

.offers-item--title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #FFF;
    padding: 1.375rem 1.25rem;
    font-size: var(--medium-font);
    font-weight: 400;
    border-bottom: 1px solid #464646;
}

.offers-item--title span {
    font-weight: 700;
}

.offers-item--title_price {
    text-align: right;
    font-size: var(--small-font);
    padding-right: var(--sp-50);
    font-weight: 600;
    white-space: nowrap;
}


.offers-item--title_price::before {
    content:"";
    background: url("img/icon-list.png") center center / 19px no-repeat #0D6047;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    position: absolute;
    right: 0;
    top: calc(50% - 20px);
}
.offers-item--content {
    padding: var(--sp-20);
}

.offers-item--content_description {
    color: #fff;
}

.offers-item--content_hr {
    border-top: 1px solid #464646;
    margin: var(--sp-20) 0;
}

.offers-item--content_dropdown {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.offers-item--content_dropdown details {
    background: #FFF;
    border-radius: 6px;
    padding: 12px var(--sp-15);
}

.offers-item .content-long {
    color: #5b5b5b;
    font-weight: 400;
    line-height: 130%;
    margin-top: var(--sp-20);
}

.offers-item .content-argument {
    font-weight: 600;
}

.offers-item summary {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.offers-item .toggle-icon {
    width: 20px;
    height: 20px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.offers-item .toggle-icon::before {
    content: '';
    position: absolute;
    background: #5b5b5b;
    transition: transform .3s ease;
    border-radius: 2px;
    width: 2px;
    height: 14px;
}

.offers-item .toggle-icon::after {
    content: '';
    position: absolute;
    background: #5b5b5b;
    transition: transform .3s ease;
    border-radius: 2px;
    width: 14px;
    height: 2px;
}

.offers-item details[open] .toggle-icon::before {
    transform: rotate(90deg);
}

.offers-item--content_bottom-row {
    display: flex;
    flex-direction: column;
}

.offers-item--content_bottom-text {
    font-weight: 600;
    font-size: var(--small-font);
    color: #FFF;
}

.offers-item--content_bottom-price {
    font-weight: 700;
    font-size: var(--medium-font);
    color: #FFF;
}

.offers-item--content_bottom-btn {
    margin-top: var(--sp-20);
}

.offers-item--content_bottom-btn a {
    display: block;
    text-align: center;
    color: #FFF;
    text-decoration: none;
    padding: var(--sp-15);
    border-radius: 6px;
    background: #E21D26;
    font-weight: 600;
}

.header-form--overlay {
    position: fixed;
    background-color: rgba(0, 0, 0, .6);
    z-index: 20;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: .5s ease-in-out;
}

.header-form--overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.header-form--box {
    background: #FFF;
    border-radius: 15px;
    padding: var(--sp-30);
    max-width: 500px;
}

.header-form--box-title {
    color:#242227;
    text-align: center;
    font-size: var(--medium-font);
    font-weight: 600;
}

#header-form {
    margin-top: var(--sp-30);
    display: flex;
    flex-direction: column;
    gap: var(--sp-15);
}

#header-form input {
    padding: var(--sp-15) var(--sp-20);
    border-radius: 6px;
    border: 1px solid #242227;
    font-size: var(--medium-font);
}

#header-form input::placeholder {
    color:#5b5b5b;
    font-size: var(--medium-font);
}

#header-form input[type="submit"] {
    background: #0D6047;
    text-align: center;
    color: #FFF;
}

.header-form--info {
    color:#5b5b5b;
    font-size: var(--small-font);
    font-weight: 300;
}

.header-form--box-close a {
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    z-index: 2;
    right: -15px;
    top: -15px;
}

.header-form--box-close a::before,
.header-form--box-close a::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 2px;
    background: #000;
    right: 0;
    top: 10px;
}

.header-form--box-close a::before {
    transform: rotate(45deg);
}

.header-form--box-close a::after {
    transform: rotate(-45deg);
}

.breadcrumbs {
    display: flex;
    align-items: center;
    margin: var(--sp-15) 0 var(--sp-30);
    gap: var(--sp-20);
}

.breadcrumbs a {
    color: #131313;
    font-weight: 400;
    font-size: var(--small-font);
    text-decoration: none;
}

.breadcrumbs .breadcrumbs-item::before {
    content: "";
    position: absolute;
    left: -12px;
    top: 50%;
    width: 6px;
    height: 1px;
    background: #131313;
}

.breadcrumbs .breadcrumbs-item:first-of-type::before {
    display: none;
}

/* Filter Container */
/* Filter Tabs */
.filter-container {
    background: #fff;
    border-radius: 10px;
    padding: var(--sp-25) var(--sp-30);
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
    margin-bottom: var(--sp-60);
    margin-top: var(--sp-40);
    font-size: var(--medium-font);
}

.filter-row--main {
    display: flex;
    gap: var(--sp-25);
    align-items: flex-start;
}

.filter-main--fields {
    flex: 1;
}

.filter-row--inputs {
    display: flex;
    gap: var(--sp-15);
    align-items: flex-end;
}

.filter-main--actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding-top: var(--sp-20);
}

.filter-row--sort {
    display: flex;
    align-items: center;
    gap: var(--sp-20);
    margin-top: var(--sp-15);
}

.filter-sort--label {
    font-size: var(--small-font);
    color: #131313;
    font-weight: 400;
}

.filter-sort--link {
    font-size: var(--small-font);
    color: #131313;
    text-decoration: none;
    font-weight: 400;
    transition: color 0.2s ease;
    border-bottom: 1px dashed #131313;
    padding-bottom: 1px;
}

.filter-sort--link:hover {
    color: #131313;
    border-bottom-color: #131313;
}

.filter-sort--link.active {
    color: #0D6047;
    font-weight: 600;
    border-bottom: 2px solid #0D6047;
}

.filter-sort--link.active::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 5px;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 5px solid #0D6047;
    vertical-align: middle;
    transition: transform .2s ease;
}

.filter-sort--link.active.sort-desc::after {
    transform: rotate(180deg);
}

.filter-advanced--toggle {
    font-size: var(--small-font);
    color: #131313;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
    white-space: nowrap;
}

.filter-advanced--toggle:hover {
    color: #0a4d39;
}

.filter-advanced--block {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, margin-top 0.4s ease;
    margin-top: 0;
}

.filter-advanced--block.active {
    max-height: 500px;
    margin-top: var(--sp-20);
}

.filter-advanced--block .filter-tabs {
    margin-top: 0;
    box-shadow: none;
    border: 1px solid #e0e0e0;
}

.filter-tabs {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
    margin-top: var(--sp-40);
    overflow: hidden;
}

.filter-tabs--header {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-bottom: 1px solid #E2E2E2;
    padding: 12px var(--sp-20);
}

.filter-tabs--tab {
    padding: 8px 12px;
    border: none;
    background: transparent;
    color: #5b5b5b;
    font-size: var(--medium-font);
    font-weight: 400;
    cursor: pointer;
    font-family: inherit;
    border-radius: 50px;
    transition: all 0.3s ease;
    white-space: nowrap;
    text-decoration: none;
}

.filter-tabs--tab:hover {
    color: #131313;
}

.filter-tabs--tab.active {
    background: #0D6047;
    color: #FFF;
}

.filter-tabs--content {
    padding: var(--sp-15) var(--sp-20);
    min-height: 50px;
}

.filter-tabs--panel {
    display: none;
    flex-wrap: wrap;
    gap: 8px var(--sp-20);
}

.filter-tabs--panel.active {
    display: flex;
}

.filter-tabs--link {
    display: inline-block;
    color: #131313;
    font-size:var(--small-font);
    text-decoration: none;
    font-weight: 400;
    padding: 6px 0;
    transition: color 0.2s ease;
}
.filter-tabs--link.active,
.filter-tabs--link:hover {
    color: #0D6047;
}

.filter-reset {
    padding: 10px var(--sp-20) 6px;
    text-align: right;
}

.filter-reset--link {
    color: #999;
    font-size: var(--small-font);
    text-decoration: none;
    transition: color 0.2s ease;
}

.filter-reset--link:hover {
    color: #555;
}

.filter-tabs--empty {
    color: #999;
    font-size: var(--small-font);
    padding: 6px 0;
}

.filter-row {
    display: flex;
    gap: var(--sp-20);
    align-items: flex-start;
	font-size: var(--medium-font);
}

.filter-row--options {
    margin-top: var(--sp-25);
    flex-wrap: wrap;
    justify-content: space-between;
	font-size: var(--medium-font);
}

.filter-row--actions {
    margin-top: var(--sp-25);
    align-items: center;
	font-size: var(--medium-font);
}

.filter-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.filter-group--input {
    flex: 1.5;
}

.filter-group--select {
    flex: 1;
}

.filter-group--buttons {
    flex: 0 1 auto;
}

.filter-group--numbers {
    flex: 0 0 auto;
}

.filter-label {
    font-weight: 500;
    color: #131313;
}

.filter-input {
    padding: 14px var(--sp-17);
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    color: #131313;
    background: #fff;
    transition: border-color 0.2s ease;
	font-size: var(--medium-font);
}

.filter-input::placeholder {
    color: #9e9e9e;
}

.filter-input:focus {
    border-color: #131313;
}

.filter-select {
	font-size: var(--medium-font);
    padding: 14px var(--sp-40) 14px var(--sp-17);
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    color: #131313;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23131313' d='M6 8L0 0h12z'/%3E%3C/svg%3E") no-repeat right 16px center;
    background-size: 10px;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

.filter-select:focus {
    border-color: #131313;
}

.filter-buttons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.filter-buttons--grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.filter-btn {
    padding: 10px var(--sp-17);
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    font-weight: 500;
    color: #131313;
    background: #fff;
    cursor: pointer;
    transition: all 0.2s ease;
	font-size: var(--medium-font);
}

.filter-btn:hover {
    border-color: #131313;
}

.filter-btn.active {
    background: #131313;
    border-color: #131313;
    color: #fff;
	font-size: var(--medium-font);
}

.filter-btn--number {
    padding: 10px var(--sp-15);
    min-width: 42px;
    text-align: center;
}

.filter-submit {
    padding: var(--sp-15) var(--sp-40);
    background: #E21D26;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
	font-size: var(--medium-font);
    transition: background 0.2s ease;
}

.filter-submit:hover {
    background: #c4181f;
}

.filter-reset {
    padding: var(--sp-15) var(--sp-40);
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    font-weight: 600;
    color: #131313;
	font-size: var(--medium-font);
    cursor: pointer;
    transition: all 0.2s ease;
}

.filter-reset:hover {
    border-color: #131313;
}

.filter-count {
    margin-left: auto;
    font-size: var(--small-font);
    color: #9e9e9e;
    text-align: right;
    line-height: 1.3;
}

.filter-count span {
    font-weight: 700;
    color: #131313;
} 

.offers-row--title {
    color: #FFF;
    text-align: center;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
}

.card-offers {
    margin-top: var(--sp-80);
    background: #282828;
    padding: var(--sp-40) var(--sp-15) var(--sp-60);
}

.card-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: var(--sp-50);
}

.card-row .card-col:first-of-type {
    flex: 0 0 calc(60% - 5px);
    max-width: calc(60% - 5px);
}

.card-row .card-col:nth-child(2) {
    flex: 0 0 calc(40% - 5px);
    max-width: calc(40% - 5px);
}

.card-image--slider {
    display: flex;
    align-items: center;
    padding: 10px var(--sp-30);
    background: #FFF;
    gap: 13px;
    box-shadow: 0 10px 50px -15px rgba(0, 0, 0, 0.2);
    border-radius: 25px;
    z-index: 2;
    margin-top: var(--sp-30);
    width: 100%;
    overflow: hidden;
}

.card-image--slider-item {
    max-width: 250px;
    border-radius: 15px;
    overflow: hidden;
    border: 2px solid transparent;
    opacity: .4;
    transition: .3s ease-in-out;
    font-size: 0;
    cursor: pointer;
}

.card-image--slider-item img {
    max-width: 100%;
    height: auto;
    transform: scale(1);
    border-radius: 15px;
    transition: .3s ease-in-out;
}

.card-image--slider-item.active {
    border-color: #E21D26;
    opacity: 1;
}

.card-image--slider-item.active img {
    transform: scale(0.9);
}

/* Slick overrides for thumbnail slider */
.card-image--slider.slick-initialized {
    display: block;
    padding: 10px var(--sp-15);
}

.card-image--slider.slick-initialized .card-image--slider-item {
    max-width: 100%;
    margin: 0 6px;
}

.card-col--image {
    height: 100%;
}

.card-col--image-big {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    border-radius:25px;
    overflow: hidden;
}

.card-col--image-sub {
    display: flex;
    justify-content: center;
    width: 100%;
    order: 3;
}

.card-col--image-big img {
    max-width: 100%;
    width: 100%;
    height: auto;
}

.card-info {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    border: 1px solid rgba(226, 226, 226, 1);
    border-radius: 25px;
}

.card-info--item {
    width: 100%;
    max-width: 50%;
    padding: var(--sp-20);
}

.card-info .card-info--item:nth-child(odd) {
    border-right: 1px solid rgba(226, 226, 226, 1);
    border-bottom: 1px solid rgba(226, 226, 226, 1);
}

.card-info .card-info--item:nth-child(even) {
    border-bottom: 1px solid rgba(226, 226, 226, 1);
}

.card-info .card-info--item:nth-last-child(2),
.card-info .card-info--item:nth-last-child(1) {
    border-bottom: none;
}

.card-info--item-title {
    display: flex;
    gap: 10px;
}

.card-info--item-title_text {
    font-size: var(--small-font);
    font-weight: 400;
    color: #131313;
}

.card-info--item-text {
    padding-left: var(--sp-28);
    font-size: var(--medium-font);
    font-weight: 600;
    color: #131313;
    margin-top: 10px;
}

.card-description {
    margin-top: 10px;
    background: #FFF;
    box-shadow: 0 10px 50px -15px rgba(0, 0, 0, 0.2);
    padding: var(--sp-20);
    border-radius: 20px;
}

.card-description--price {
    padding-left: var(--sp-28);
}

.card-description--price a {
    display: inline-block;
    color:#0D6047;
    font-weight: bold;
    font-size: var(--small-font);
    text-decoration: none;
    border-bottom: 2px solid #0D6047;
}

.card-description--price-title,
.card-description--price span {
    font-size: var(--small-font);
    font-weight: 400;
    color: #131313;
}

.card-description--price-price {
    margin-top: 10px;
    font-size: var(--large-font);
    font-weight: 700;
    color: #131313;
}

.card-description--price span {
    margin-top: 12px;
    display: block;
}

.card-description--price-title::before {
    content: "";
    position: absolute;
    left: -27px;
    top: 2px;
    width: 17px;
    height: 17px;
    background: url("img/card-price.png") center center no-repeat;
    background-size: contain;
}

.card-description--btns {
    margin-top: var(--sp-20);
}

.card-description--btns_row {
    display: flex;
    gap: 10px;
}

.card-description--btns a {
    display: flex;
    flex: 1;
    padding: var(--sp-24) var(--sp-17);
    color: #FFF;
    width: 100%;
    text-decoration: none;
    border-radius: 10px;
    font-size: var(--small-font);
    font-weight: 700;
}

.card-description--btns_item:not(.white) {
    max-width: 50%;
}

.card-description--btns_item.red {
    background: #E21D26;
}

.card-description--btns_item.green {
    background: #0D6047;
}

.card-description--btns_item.white {
    color: #131313;
    border: 2px solid #131313;
    margin-top: 10px;
    padding: var(--sp-24) var(--sp-17);
    justify-content: center;
}

.card-layout {
    margin-top: var(--sp-100);
}

.card-layout--subtitle {
    color: #131313;
    font-size: var(--medium-font);
    font-weight: 400;
}

.card-layout--title {
    margin-top: var(--sp-15);
    color: #131313;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
}

.card-layout--title_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.card-layout--title-floors ul {
    list-style: none;
    display: flex;
    background: #F6F6F6;
    padding: 3px;
    border-radius: 40px;
    margin: 0;
}

.card-layout--title-floors {
    display: flex;
    justify-content: center;
    margin-top: var(--sp-25);
}

.card-layout--title-floors ul li {
    padding: 10px var(--sp-20);
    border-radius: 40px;
    font-weight: 500;
    font-size: var(--medium-font);
    color: #131313;
    background: transparent;
    cursor: pointer;
    transition: background .2s;
}

.card-layout--title-floors ul li:hover {
    background: rgba(31, 95, 69, 0.1);
}

.card-layout--title-floors ul li.current {
    color: #FFF;
    background: #1F5F45;
}

.card-layout--title-floors ul li.current:hover {
    background: #1F5F45;
}

.card-layout--tab {
    display: none;
}

.card-layout--tab.active {
    display: block;
}

.card-layout--row {
    margin-top: var(--sp-50);
    display: flex;
    gap: 10px;
    justify-content: center;
}

.card-layout--img {
    flex: 1;
    width: 100%;
    max-width: 50%;
    margin: 0 auto;
    border-radius: 25px;
    overflow: hidden;
    border: 1px solid #E2E2E2;
    font-size: 0;
}

.card-layout--img-title {
    font-size: var(--medium-font);
    text-align: center;
    padding: var(--sp-15); 
    color: #131313;
}

.card-layout--img img {
    max-width: 100%;
    min-width: 100%;
}

.card-layout--floors_description {
    max-width: 50%;
    width: 100%;
    border-radius: 25px;
    border: 1px solid #E2E2E2;
    display: flex;
    flex-direction: column;
}

.card-layout--floors_item {
    border-bottom: 1px solid #E2E2E2;
    padding: var(--sp-20) var(--sp-25);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 400;
    color: #131313;
    font-size: var(--small-font);
    line-height: normal;
}

.card-layout--floors_description .card-layout--floors_item:last-child {
    border-bottom: none;
}

.card-layout--images {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
    margin-left: auto;
}

.card-layout--images-item {
    border-radius: 25px;
    overflow: hidden;
    border: 1px solid #E2E2E2;
    font-size: 0;
}

.card-layout--images-item img {
    max-width: 100%;
    min-width: 340px;
    max-width: 340px;
}

.card-layout--row.img2 .card-layout--img {
    max-width: 50%;
}

.card-promo {
    margin-top: var(--sp-100);
}

.card-promo--container {
    background: url("img/card-promo.png") right bottom no-repeat;
    background-size: contain;
}

.card-promo--subtitle {
    color: #131313;
    font-size: var(--medium-font);
    font-weight: 400;
}

.card-promo--title {
    margin-top: var(--sp-15);
    color: #131313;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
}

.card-promo--box {
    margin-top: var(--sp-50);
    border-radius: 25px;
    padding: var(--sp-30);
    box-shadow: 0 10px 50px -15px rgba(0, 0, 0, 0.2);
    background: #FFF;
    max-width: 420px;
}

.card-promo--list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--sp-20);
}

.card-promo--list li {
    padding-left: var(--sp-40);
    color: #131313;
    font-weight: 400;
    font-size: var(--small-font);
}

.card-promo--list li::before {
    content:"";
    background:url("img/card-promo-list.png") center center no-repeat;
    background-size: contain;
    width: 28px;
    height: 28px;
    position: absolute;
    left: 0;
    top: -5px;
}

.card-promo--br {
    display: block;
}

.card-promo--btn {
    display: block;
    text-align: center;
    color: #FFF;
    text-decoration: none;
    padding: var(--sp-20) var(--sp-15);
    border-radius: 6px;
    background: #E21D26;
    font-weight: 600;
    margin-top: var(--sp-30);
}

.card-promo--partners {
    margin-top: var(--sp-20);
}

.card-promo--partners ul {
    list-style: none;
    display: flex;
    align-items: stretch;
    border: 1px solid #E2E2E2;
    border-radius: 25px;
}

.card-promo--partners ul li {
    width: 100%;
    max-width: 16.666%;
    border-right: 1px solid #E2E2E2;
    text-align: center;
    display: flex;
    align-items: center;
    padding: var(--sp-15);
    justify-content: center;
}

.card-promo--partners ul li:last-child {
    border-right: none;
}

.card-mitek {
    background: #282828;
    padding: var(--sp-60) var(--sp-15);
    margin-top: var(--sp-80);
}

.materials-content .card-mitek,
.materials-content > div:first-of-type {
    margin-top: 0;
}

.materials-content .card-mitek {
    border-radius: 15px;
    padding: var(--sp-60);
}

.materials-content .card-mitek--description, 
.materials-content .card-mitek--description > p:first-of-type {
    margin-top: 0;
}

.card-mitek--header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: flex-end;
}

.page-mitek .card-mitek--header {
    align-items: flex-start;
}

.page-mitek .card-mitek--description {
    margin-top: 0;
    font-size: var(--small-font);
    font-weight: 400;
    line-height: 1.4;
}

.card-mitek--title {
    color: #FFF;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
}

.card-mitek--description {
    margin-top: var(--sp-30);
    color: #FFF;
    font-size: var(--medium-font);
    font-weight: 400;
    line-height: 1.1;
}

.card-mitek--btn {
    margin-top: var(--sp-15);
    display: block;
    text-align: center;
    color: #FFF;
    text-decoration: none;
    padding: var(--sp-20) var(--sp-15);
    border-radius: 6px;
    background: #E21D26;
    font-weight: 600;
}

.card-mitek--row {
    display: flex;
    gap: 10px;
    margin-top: var(--sp-50);
}

.card-mitek--item {
    width: 100%;
    max-width: 33.33%;
    background: #303030;
    border-radius: 18px;
}

.card-mitek--item-title {
    color: #FFF;
    font-size: var(--medium-font);
    font-weight: 600;
    padding: var(--sp-25);
    border-bottom: 1px solid #464646;
    min-height: 110px;
}

.card-mitek--item-list {
    padding: var(--sp-25);
}

.card-mitek--item-list ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--sp-20);
}

.card-mitek--item-list ul li::before {
    content:"";
    background:url("img/card-promo-list.png") center center no-repeat;
    background-size: contain;
    width: 28px;
    height: 28px;
    position: absolute;
    left: 0;
    top: -5px;
}

.card-mitek--item-list ul li {
    padding-left: var(--sp-40);
    color: #131313;
    font-weight: 400;
    font-size: var(--small-font);
    color: #FFF;
} 

/* Card Finishing */
.card-finishing {
    margin-top: var(--sp-80);
}

.card-finishing--title {
    color: #131313;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
    text-align: center;
    margin-bottom: var(--sp-50);
}

.card-finishing--row {
    display: flex;
    gap: var(--sp-40);
    align-items: center;
}

.card-finishing--image {
    width: 100%;
    max-width: 50%;
    border-radius: 18px;
    overflow: hidden;
} 

.card-finishing--image_overlay {
    background-size: cover;
    background-position: center;
    padding-bottom: 75%;
}

.card-finishing--image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    border-radius: 18px;
    transition: opacity 0.3s ease;
}

.card-finishing--content {
    width: 50%;
}

.card-finishing--buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.card-finishing--btn {
    padding: 12px var(--sp-24);
    border: 2px solid #0D6047;
    border-radius: 50px;
    box-shadow: 0 4px 5px 0 rgba(13,97,71,.25);
    background: transparent;
    text-transform: uppercase;
    color: #131313;
    font-size: var(--small-font);
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: inherit;
}

.card-finishing--btn:hover {
    background: #0D6047;
    color: #FFF;
}

.card-finishing--btn.active {
    background: #0D6047;
    color: #FFF;
}

.card-finishing--info {
    display: none;
    margin-top: var(--sp-30);
}

.card-finishing--info.active {
    display: block;
}

.card-finishing--info-title {
    font-size: var(--large-font);
    font-weight: 600;
    color: #131313;
    margin-bottom: var(--sp-15);
}

.card-finishing--info-text {
    font-size: var(--medium-font);
    font-weight: 400;
    color: #131313;
    line-height: 1.4;
}

/* Card Individual Design */
.card-individual {
    margin-top: var(--sp-80);
    background: url('img/card-individual-bg.png') right bottom / contain no-repeat #f8f8f8;
}

.card-individual--row {
    display: flex;
    align-items: center;
    position: relative;
    min-height: 350px;
    padding: var(--sp-50) 0;
}

.card-individual--content {
    max-width: 50%;
    position: relative;
    z-index: 2;
}

.card-individual--title {
    color: #131313;
    font-size: var(--large-font);
    line-height: 1;
    font-weight: 700;
}

.card-individual--text {
    color: #5b5b5b;
    font-size: var(--medium-font);
    font-weight: 400;
    line-height: 1.4;
    margin-top: var(--sp-20);
    max-width: 420px;
}

.card-individual--btn {
    display: inline-block;
    margin-top: var(--sp-30);
    padding: var(--sp-17) var(--sp-35);
    background: #0D6047;
    color: #FFF;
    text-decoration: none;
    font-size: var(--small-font);
    font-weight: 600;
    border-radius: 6px;
    transition: background 0.3s ease;
}

.card-individual--btn:hover {
    background: #0a4e3a;
}

.card-individual--image {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    max-width: 55%;
    z-index: 1;
}

.card-individual--image img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Architect Form Popup */
.architect-form--overlay {
    position: fixed;
    background-color: rgba(0, 0, 0, 0);
    z-index: 20;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: background-color 0.4s ease, opacity 0.4s ease, visibility 0.4s ease;
}

.architect-form--overlay.active {
    background-color: rgba(0, 0, 0, 0.6);
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.architect-form--box {
    background: #FFF;
    border-radius: 20px;
    padding: var(--sp-40);
    max-width: 480px;
    width: 100%;
    position: relative;
    transform: translateY(30px) scale(0.95);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease;
}

.architect-form--overlay.active .architect-form--box {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.architect-form--box-close {
    position: absolute;
    right: 15px;
    top: 15px;
}

.architect-form--box-close a {
    display: block;
    width: 24px;
    height: 24px;
    position: relative;
}

.architect-form--box-close a::before,
.architect-form--box-close a::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 2px;
    background: #131313;
    left: 2px;
    top: 11px;
    transition: background 0.3s ease;
}

.architect-form--box-close a:hover::before,
.architect-form--box-close a:hover::after {
    background: #E21D26;
}

.architect-form--box-close a::before {
    transform: rotate(45deg);
}

.architect-form--box-close a::after {
    transform: rotate(-45deg);
}

.architect-form--box-title {
    color: #131313;
    text-align: center;
    font-size: var(--medium-font);
    font-weight: 700;
}

.architect-form--box-subtitle {
    color: #5b5b5b;
    text-align: center;
    font-size: var(--small-font);
    font-weight: 400;
    margin-top: 10px;
    line-height: 1.3;
}

#architect-form {
    margin-top: var(--sp-25);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

#architect-form input,
#architect-form textarea {
    padding: var(--sp-15) var(--sp-20);
    border-radius: 10px;
    border: 1px solid #E2E2E2;
    font-size: var(--small-font);
    font-family: inherit;
    transition: border-color 0.3s ease;
    outline: none;
}

#architect-form input:focus,
#architect-form textarea:focus {
    border-color: #0D6047;
}

#architect-form input::placeholder,
#architect-form textarea::placeholder {
    color: #999;
    font-size: var(--small-font);
}

#architect-form textarea {
    resize: vertical;
    min-height: 90px;
}

#architect-form input[type="submit"] {
    background: #0D6047;
    text-align: center;
    color: #FFF;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: background 0.3s ease, transform 0.2s ease;
}

#architect-form input[type="submit"]:hover {
    background: #0a4e3a;
}

#architect-form input[type="submit"]:active {
    transform: scale(0.98);
}

.architect-form--info {
    color: #999;
    font-size: var(--small-font);
    font-weight: 300;
    text-align: center;
}

.card-similar {
    margin-top: var(--sp-80);
}

.card-similar--head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--sp-30);
}

.card-similar--title {
    color: #131313;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
}

.card-similar--nav {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}

.card-similar--arrow {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1.5px solid #3a7d6e;
    background: transparent;
    color: #3a7d6e;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
    padding: 0;
}

.card-similar--arrow:hover {
    background: #3a7d6e;
    color: #fff;
}

.card-similar--arrow svg {
    width: 14px;
    height: 14px;
}

.card-similar--slider {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

.card-similar--slider.slick-initialized {
    display: block;
}

.card-similar--slider .card-similar--item {
    flex: 1 1 calc(33.333%);
    max-width: calc(33.333%);
    display: block;
    text-decoration: none;
    color: inherit;
    position: relative;
    overflow: hidden;
}

.card-similar--slider.slick-initialized .card-similar--item {
    max-width: 100%;
    margin: 0;
    float: left;
}

.card-similar--item_img {
    width: 100%;
    padding-bottom: 75%;
    background-size: cover;
    background-position: center;
    position: relative;
}

.card-similar--item_img::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%);
    pointer-events: none;
}

.card-similar--item_info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--sp-20);
    z-index: 1;
    color: #fff;
}

.card-similar--item_title {
    font-size: var(--medium-font);
    font-weight: 600;
    margin-bottom: 5px;
}

.card-similar--item_area {
    font-size: var(--small-font);
    opacity: 0.85;
    margin-bottom: 3px;
}

.card-similar--item_price {
    font-size: var(--medium-font);
    font-weight: 600;
}

.card-similar--item:hover .card-similar--item_img {
    filter: brightness(1.1);
    transition: filter 0.3s;
}

.equipment-table {
    display: flex;
    flex-direction: column;
    border-radius: 25px;
    border: 1px solid #E2E2E2;
    margin-top: var(--sp-50);
}

.equipment-table--row {
    display: flex;
    border-bottom: 1px solid #E2E2E2;
}

.equipment-table--row > div {
    width: 100%;
}

.equipment-table--row-name {
    border-right: 1px solid #E2E2E2;
    padding: var(--sp-20) var(--sp-25);
    font-size: var(--medium-font);
    font-weight: 600;
    color: #131313;
    max-width: 35%;
    display: flex;
    justify-content: space-between;
}

.equipment-table--row-name span {
    display: block;
    max-width:calc(100% - 56px);
}

.equipment-table--row-description {
    max-width: 65%;
    padding: var(--sp-24) var(--sp-28);
    color: #131313;
    font-size: var(--small-font);
    font-weight: 400;
}

.equipment-table--row-description b + ul {
    margin-top: 10px;
}

.equipment-table--row-description ul {
    padding-left: var(--sp-20);
    margin: 0;
}

.equipment-table .equipment-table--row:last-of-type {
    border-bottom: none;
}

.equipment-title {
    color: #131313;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
    margin-top: var(--sp-80);
}

.equipment-table--row-name_img {
    background: url("img/icon-list.png") center center no-repeat #0D6047;
    background-size: 18px;
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 50%;
}

.equipment-table--row.belhouse .equipment-table--row-name {
    flex-direction: column;
}

.equipment-table--row.belhouse .equipment-table--row-name .equipment-table--row-name_img {
    background: transparent;
    min-width: none;
    width: unset;
    height: unset;
    border-radius: 0;
}

.equipment-description {
    margin-top: var(--sp-100);
    font-size: var(--small-font);
    color: #131313;
    font-weight: 400;
}

.ipoteka-partners {
    margin-top: var(--sp-100);
}

.ipoteka-title {
    color: #131313;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
}

.ipoteka-subtitle {
    color: #131313;
    font-size: var(--medium-font);
    font-weight: 400;
    margin-top: var(--sp-40);
}

.ipoteka-row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    border: 1px solid #E2E2E2;
    border-radius: 25px;
    margin-top: var(--sp-50);
}

.ipoteka-item {
    padding: var(--sp-25) var(--sp-50) var(--sp-40);
    text-align: center;
    border-right: 1px solid #E2E2E2;
    border-bottom: 1px solid #E2E2E2;
    max-width: 33.333%;
    width: 100%;
}

.ipoteka-row .ipoteka-item:nth-child(3) {
    border-right: none;
}

.ipoteka-row .ipoteka-item:nth-last-child(1),
.ipoteka-row .ipoteka-item:nth-last-child(2),
.ipoteka-row .ipoteka-item:nth-last-child(3) {
    border-bottom: none;
}

.ipoteka-row .ipoteka-item:nth-last-child(1) {
    border-right: none;
}

.ipoteka-item--title {
    font-size: var(--medium-font);
    font-weight: 600;
    color: #939393;
}

.ipoteka-item--logo {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ipoteka-item--logo img {
    max-width: 100%;
}

.ipoteka-description {
    margin-top: var(--sp-40);
    font-size: var(--medium-font);
    color: #131313;
    font-weight: 400;
}

.building-now--gallery {
    padding: var(--sp-60) 0;
}

.building-now--gallery-title {
    color: #131313;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
}

.building-now--row {
    display: flex;
    flex-wrap: wrap;
    margin-top: var(--sp-50);
}

.building-now--item {
    width: 100%;
    max-width: 33.333%;
    cursor: pointer;
}

.building-now--item_photo {
    background-size:cover;
    background-repeat: no-repeat;
    background-position: center;
    padding-bottom: 75%;
}

.building-now--item_photo::before {
    content: "";
    opacity: 0;
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
    background: linear-gradient(209.11deg, rgba(0, 0, 0, 0) 17.89%, rgba(0, 0, 0, 0.9) 93.24%);
    transition: 0.3s ease-in-out;
}

.building-now--item:hover .building-now--item_photo::before {
    opacity: 1;
}

.building-now--item_photo-text {
    font-size: var(--medium-font);
    font-weight: 600;
    color: #FFF;
    position: absolute;
    bottom: 20px;
    left: 20px;
    opacity: 0;
    transition: ease-in-out 0.3s;
}

.building-now--item:hover .building-now--item_photo-text {
    opacity: 1;
    z-index: 2;
}

.building-now--video {
    padding: var(--sp-60) 0;
}

.building-now--video_title {
    color: #131313;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
}

.building-now--video_img {
    font-size: 0;
    border-radius: 25px;
}

.building-now--video_img img {
    width: 100%;
}

.building-now--video_play {
    padding: var(--sp-15);
    border-radius: 50%;
    overflow: hidden;
    backdrop-filter: blur(20px);
    position: absolute;
    z-index: 2;
    left: calc(50% - 47px);
    top: calc(50% - 47px);
}

.building-now--video_play-circle {
    width: 195px;
    height: 195px;
    border-radius: 50%;
    background: url("img/play-icon.png") 55% center / 60px no-repeat #E21D26;
    cursor:pointer;
}

.building-now--video_container {
    margin-top: var(--sp-50);
}

.mitek-page--row {
    margin-top: var(--sp-60);
    display: flex;
    gap: var(--sp-50);
}

.mitek-page--row.mitek-page--row_flow {
    display: block;
    overflow: hidden;
}

.mitek-page--row_flow .mitek-page--description,
.mitek-page--row_flow .mitek-page--description > p:first-of-type {
    margin-top: 0;
}

.mitek-page--row_flow .mitek-page--row_content {
    max-width: 100%;
}

.mitek-page--float-left {
    float: left;
    margin-right: var(--sp-50);
    margin-bottom: var(--sp-20);
}

.mitek-page--float-right {
    float: right;
    margin-left: var(--sp-50);
    margin-bottom: var(--sp-20);
}

.mitek-page--row_img {
    font-size: 0;
    border-radius: 40px;
    max-width: 50%;
    width: 100%;
    overflow: hidden;
}

.mitek-page--row_img img {
    max-width: 100%;
    min-width: 100%;
}

.mitek-page--row_content {
    width: 100%;
    max-width: 50%;
}

.mitek-page--row.text-only .mitek-page--row_content {
    max-width: 100%;
}

.mitek-page--title {
    color: #131313;
    font-size: var(--large-font);
    line-height: 0.9;
    font-weight: 600;
}

.mitek-page--description {
    color: #131313;
    font-size: var(--small-font);
    font-weight: 400;
    line-height: 1.4;
    margin-top: var(--sp-40);
}

.mitek-page--row_reverse {
    flex-direction: row-reverse;
}

.mitek-page--row_content-full {
    max-width: 100%;
}

.mitek-page--row_video {
    position: relative;
    max-width: calc(50% - 50px);
    width: 100%;
    border-radius: 40px;
    overflow: hidden;
    cursor: pointer;
    font-size: 0;
    z-index: 2;
}

.info-title--bg.is-image {
    margin-bottom: -80px;
    padding-bottom: var(--sp-30);
    margin-top: -20px;
    padding-top: var(--sp-20);
    overflow: hidden;
}

.info-title--bg.is-image .info-title--bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.info-title--bg.is-image .wrapper {
    z-index: 2;
}

.info-title--bg.is-image .breadcrumbs {
    margin-top: 0;
}

.mitek-page--row_video img {
    width: 100%;
    display: block;
    transition: transform .3s ease;
}

.mitek-page--row_video:hover img {
    transform: scale(1.03);
}

.mitek-page--play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: transform .25s ease;
}

.mitek-page--play:hover {
    transform: translate(-50%, -50%) scale(1.15);
}

.mitek-page--row_double {
    flex-wrap: wrap;
}

.mitek-page--title_full {
    width: 100%;
    flex: 0 0 100%;
    margin-bottom: var(--sp-30);
}

.mitek-page--row_gallery {
    display: flex;
    gap: var(--sp-50);
    width: 100%;
}

.mitek-page--row_gallery .mitek-page--row_img,
.mitek-page--row_gallery .mitek-page--row_video {
    flex: 1 1 0;
    max-width: calc(50% - 25px);
}


/* ---- Dropdown submenu ---- */

/* Parent item with children: indicator arrow */
.header-line-menu--menu .menu-item-has-children > a {
    display: flex;
    align-items: center;
    gap: 6px;
    pointer-events: auto;
}

.header-line-menu--menu .menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .25s ease;
    margin-top: -3px;
    flex-shrink: 0;
}

.header-line-menu--menu .menu-item-has-children:hover > a::after {
    transform: rotate(-135deg);
}

/* Generic sub-menu reset */
.header-line-menu--menu .sub-menu {
    display: flex;
    flex-direction: column;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    list-style: none;
    margin: 0;
    padding: 0;
    transition: opacity .25s ease, visibility .25s ease, transform .25s ease;
    transform: translateY(-6px);
    z-index: 1000;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .15);
    top: 100%;
}

/* Remove inherited gap from parent ul */
.header-line-menu--menu .sub-menu,
.header-line-menu--menu .sub-menu .sub-menu {
    gap: 0;
}

/* Show on hover */
.header-line-menu--menu .menu-item-has-children:hover > .sub-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

/* All sub-menu links: override inherited white color */
.header-line-menu--menu .sub-menu a {
    color: #333 !important;
    font-size: var(--small-font);
    font-weight: 400;
    white-space: nowrap;
    text-decoration: none;
    padding: 10px var(--sp-20);
    display: block;
    transition: background .2s, color .2s;
    height: auto;
}

.header-line-menu--menu .sub-menu a:hover {
    background: rgba(13, 96, 71, .08);
    color: #0D6047 !important;
}

/* Sub-menu li height reset */
.header-line-menu--menu .sub-menu li {
    height: auto;
    width: 100%;
}

/* ---- Level 1: horizontal bar below the menu ---- */
.header-line-menu--menu > ul > .menu-item-has-children > .sub-menu {
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    flex-direction: row;
    border-radius: 0 0 10px 10px;
    padding: 6px 8px;
}

.header-line-menu--menu > ul > .menu-item-has-children > .sub-menu > li + li {
    border-left: 1px solid rgba(0,0,0,.08);
}

.header-line-menu--menu > ul > .menu-item-has-children > .sub-menu > li > a {
    padding: 8px var(--sp-17);
    border-radius: 6px;
}

/* ---- Level 2 indicator (arrow right) ---- */
.header-line-menu--menu .sub-menu .menu-item-has-children > a::after {
    transform: rotate(-45deg);
    width: 5px;
    height: 5px;
    margin-top: 0;
}

.header-line-menu--menu .sub-menu .menu-item-has-children:hover > a::after {
    transform: rotate(-45deg);
}

/* ---- Level 2: vertical dropdown to the right ---- */
.header-line-menu--menu .sub-menu .sub-menu {
    flex-direction: column;
    top: -6px;
    left: 100%;
    transform: none;
    border-radius: 10px;
    padding: 6px 0;
    min-width: 200px;
}

.header-line-menu--menu .sub-menu .sub-menu li + li {
    border-left: none;
    border-top: 1px solid rgba(0,0,0,.05);
}

.header-line-menu--menu .sub-menu .sub-menu a {
    padding: 10px var(--sp-20);
    border-radius: 0;
}

/* ---- / Dropdown submenu ---- */

/* ---- Video page grid ---- */
.video-page {
    margin-top: var(--sp-60);
}

.video-page--grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sp-20);
}

.video-page--item {
    cursor: pointer;
}

.video-page--item .main-video--row-item {
    position: relative;
    height: 100%;
}

.video-page--item .main-video--row-item_img {
    position: relative;
    overflow: hidden;
    border-radius: 15px;
}

.video-page--item .main-video--row-item_img img {
    width: 100%;
    height: auto;
    display: block;
}

/* ---- Video modal ---- */
.video-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    align-items: center;
    justify-content: center;
}

.video-modal.is-visible {
    display: flex;
}

.video-modal--overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.video-modal.is-active .video-modal--overlay {
    opacity: 1;
}

.video-modal--content {
    position: relative;
    width: 90%;
    max-width: 900px;
    aspect-ratio: 16 / 9;
    transform: scale(0.8);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.video-modal.is-active .video-modal--content {
    transform: scale(1);
    opacity: 1;
}

.video-modal--body {
    width: 100%;
    height: 100%;
    border-radius: 15px;
    overflow: hidden;
}

.video-modal--body iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.video-modal--close {
    position: absolute;
    top: -45px;
    right: 0;
    width: 36px;
    height: 36px;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
}

.video-modal--close:hover {
    opacity: 0.7;
}

.video-modal--prev,
.video-modal--next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1.5px solid #fff;
    background: transparent;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
    padding: 0;
}

.video-modal--prev {
    left: -70px;
}

.video-modal--next {
    right: -70px;
}

.video-modal--prev:hover,
.video-modal--next:hover {
    background: #3a7d6e;
    border-color: #3a7d6e;
}

@media (max-width: 1100px) {
    .video-modal--prev { left: 10px; }
    .video-modal--next { right: 10px; }
    .video-modal--prev,
    .video-modal--next {
        background: rgba(0,0,0,0.5);
    }
}

@media (max-width: 1024px) {
    .video-page--grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .video-page--grid {
        grid-template-columns: 1fr;
    }
    .video-modal--content {
        width: 95%;
    }
}
/* ---- / Video modal ---- */

/* ---- Reviews page ---- */
.reviews-section {
    margin-top: var(--sp-60);
}

.reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sp-20);
}

.reviews-card {
    background: #fff;
    border-radius: 15px;
    padding: var(--sp-30);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.3s ease;
}

.reviews-card:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.14);
}

.reviews-card--header {
    display: flex;
    align-items: center;
    gap: var(--sp-15);
    margin-bottom: var(--sp-17);
}

.reviews-card--avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #3a7d6e;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-transform: uppercase;
}

.reviews-card--name {
    font-size: var(--medium-font);
    font-weight: 600;
    color: #131313;
    line-height: 1.2;
}

.reviews-card--stars {
    display: flex;
    gap: 2px;
    margin-top: 4px;
}

.reviews-card--star {
    font-size: 18px;
    color: #d9d9d9;
    line-height: 1;
}

.reviews-card--star.is-filled {
    color: #ffc107;
}

.reviews-card--text {
    font-size: var(--small-font);
    color: #5b5b5b;
    line-height: 1.55;
    font-weight: 400;
    flex-grow: 1;
}

.reviews-card--link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: var(--sp-17);
    font-size: 14px;
    font-weight: 600;
    color: #3a7d6e;
    text-decoration: none;
    transition: color 0.2s;
}

.reviews-card--link:hover {
    color: #2c6054;
}

.reviews-card--link svg {
    flex-shrink: 0;
}

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

@media (max-width: 600px) {
    .reviews-grid {
        grid-template-columns: 1fr;
    }
    .reviews-card {
        padding: 22px;
    }
}
/* -- Review photos -- */
.reviews-card--photos {
    display: flex;
    gap: 8px;
    margin-top: 14px;
    flex-wrap: wrap;
}

.works-template-default .card-video {
    margin-top: var(--sp-60);
}

.works-template-default .house-video--row {
    margin-top: var(--sp-40);
}

.reviews-card--photo {
    width: 64px;
    height: 64px;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    flex-shrink: 0;
    transition: opacity 0.2s;
}

.reviews-card--photo:hover {
    opacity: 0.8;
}

.reviews-card--photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* -- Review lightbox -- */
.review-lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10001;
    align-items: center;
    justify-content: center;
}

.review-lightbox.is-visible {
    display: flex;
}

.review-lightbox--overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.review-lightbox.is-active .review-lightbox--overlay {
    opacity: 1;
}

.review-lightbox--content {
    position: relative;
    max-width: 90vw;
    max-height: 85vh;
    transform: scale(0.85);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.review-lightbox.is-active .review-lightbox--content {
    transform: scale(1);
    opacity: 1;
}

.review-lightbox--img {
    display: flex;
    align-items: center;
    justify-content: center;
}

.review-lightbox--img img {
    max-width: 90vw;
    max-height: 85vh;
    border-radius: 10px;
    display: block;
}

.review-lightbox--close {
    position: absolute;
    top: -45px;
    right: 0;
    width: 36px;
    height: 36px;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
}

.review-lightbox--close:hover {
    opacity: 0.7;
}

.review-lightbox--prev,
.review-lightbox--next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1.5px solid #fff;
    background: transparent;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
    padding: 0;
}

.review-lightbox--prev { left: -70px; }
.review-lightbox--next { right: -70px; }

.review-lightbox--prev:hover,
.review-lightbox--next:hover {
    background: #3a7d6e;
    border-color: #3a7d6e;
}

.review-lightbox--nav-hidden {
    display: none !important;
}

@media (max-width: 1100px) {
    .review-lightbox--prev { left: 10px; }
    .review-lightbox--next { right: 10px; }
    .review-lightbox--prev,
    .review-lightbox--next {
        background: rgba(0,0,0,0.5);
    }
}
/* ---- / Reviews page ---- */

/* ---- Thanks page ---- */
.thanks-section {
    margin-top: var(--sp-60);
}

.thanks-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--sp-20);
}

.thanks-grid--item {
    border-radius: 15px;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    background: #fff;
}

.thanks-grid--item:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.14);
    transform: translateY(-3px);
}

.faq-nav--item_text {
    font-size: var(--small-font);
}

.thanks-grid--item img {
    width: 100%;
    height: auto;
    display: block;
}

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

@media (max-width: 600px) {
    .thanks-grid {
        grid-template-columns: 1fr;
    }
}
/* ---- / Thanks page ---- */

/* ---- Blog grid (archive cards) ---- */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sp-24);
    margin-top: var(--sp-40);
    margin-bottom: var(--sp-60);
}

.blog-grid--item {
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    opacity: 0;
    transform: translateY(30px);
    animation: blogCardAppear 0.6s ease forwards;
}

.blog-grid--item:nth-child(1)  { animation-delay: 0s; }
.blog-grid--item:nth-child(2)  { animation-delay: 0.08s; }
.blog-grid--item:nth-child(3)  { animation-delay: 0.16s; }
.blog-grid--item:nth-child(4)  { animation-delay: 0.2s; }
.blog-grid--item:nth-child(5)  { animation-delay: 0.24s; }
.blog-grid--item:nth-child(6)  { animation-delay: 0.28s; }
.blog-grid--item:nth-child(7)  { animation-delay: 0.32s; }
.blog-grid--item:nth-child(8)  { animation-delay: 0.36s; }
.blog-grid--item:nth-child(9)  { animation-delay: 0.4s; }
.blog-grid--item:nth-child(n+10) { animation-delay: 0.44s; }

@keyframes blogCardAppear {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.blog-grid--item:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.16);
}

.blog-grid--item_img {
    position: relative;
    width: 100%;
    padding-bottom: 75%; /* 4:3 */
    overflow: hidden;
    background-size: cover;
}

.blog-grid--item_img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.blog-grid--item:hover .blog-grid--item_img img {
    transform: scale(1.05);
}

.blog-grid--item_img-empty {
    background: linear-gradient(135deg, #e8e8e8 0%, #d0d0d0 100%);
}

.blog-grid--item_info {
    padding: var(--sp-20) var(--sp-24) var(--sp-25);
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.blog-grid--item_date {
    font-size: 13px;
    color: #999;
    font-weight: 400;
    margin-bottom: 8px;
}

.blog-grid--item_title {
    font-size: var(--medium-font);
    font-weight: 600;
    color: #131313;
    line-height: 1.3;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog-grid--item_excerpt {
    font-size: var(--small-font);
    color: #5b5b5b;
    line-height: 1.5;
    font-weight: 400;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: var(--sp-17);
}

.blog-grid--item_btn {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    color: #3a7d6e;
    transition: color 0.2s;
    margin-top: auto;
}

.blog-grid--item:hover .blog-grid--item_btn {
    color: #E21D26;
}

/* Pagination */
.wrapper .pagination,
.wrapper .nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0 0 var(--sp-60);
    flex-wrap: wrap;
}

.wrapper .pagination .page-numbers,
.wrapper .nav-links .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    color: #131313;
    background: #fff;
    border: 1px solid #e2e2e2;
    transition: all 0.25s ease;
}

.wrapper .pagination .page-numbers:hover,
.wrapper .nav-links .page-numbers:hover {
    background: #3a7d6e;
    border-color: #3a7d6e;
    color: #fff;
}

.wrapper .pagination .page-numbers.current,
.wrapper .nav-links .page-numbers.current {
    background: #3a7d6e;
    border-color: #3a7d6e;
    color: #fff;
}

.wrapper .pagination .page-numbers.dots,
.wrapper .nav-links .page-numbers.dots {
    border: none;
    background: transparent;
    pointer-events: none;
}

.wrapper .pagination .page-numbers.prev,
.wrapper .pagination .page-numbers.next,
.wrapper .nav-links .page-numbers.prev,
.wrapper .nav-links .page-numbers.next {
    width: auto;
    padding: 0 var(--sp-15);
}

@media (max-width: 1024px) {
    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
}

@media (max-width: 600px) {
    .blog-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .blog-grid--item_info {
        padding: 18px 18px 22px;
    }
}
/* ---- / Blog grid ---- */

/* ---- Blog single (article) ---- */
.blog-single {
    max-width: 820px;
    margin: 0 auto;
    padding: var(--sp-40) 0 var(--sp-60);
}

.blog-single--title {
    font-size: var(--large-font);
    font-weight: 700;
    color: #131313;
    line-height: 1.15;
    margin: 0 0 12px;
}

.blog-single--meta {
    display: flex;
    align-items: center;
    gap: var(--sp-20);
    margin-bottom: var(--sp-30);
}

.blog-single--date {
    font-size: 14px;
    color: #999;
    font-weight: 400;
}

.blog-single--thumbnail {
    margin-bottom: var(--sp-35);
    border-radius: 15px;
    overflow: hidden;
}

.blog-single--thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.blog-single--content {
    font-size: var(--medium-font);
    color: #333;
    line-height: 1.7;
    font-weight: 400;
}

.blog-single--content h2 {
    font-size: calc(var(--large-font) * 0.75);
    font-weight: 700;
    color: #131313;
    margin: var(--sp-40) 0 var(--sp-15);
    line-height: 1.2;
}

.blog-single--content h3 {
    font-size: var(--medium-font);
    font-weight: 700;
    color: #131313;
    margin: var(--sp-30) 0 12px;
    line-height: 1.3;
}

.blog-single--content p {
    margin: 0 0 var(--sp-20);
}

.blog-single--content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: var(--sp-20) 0;
}

.blog-single--content ul,
.blog-single--content ol {
    margin: 0 0 var(--sp-20) var(--sp-20);
    padding: 0;
}

.blog-single--content li {
    margin-bottom: 8px;
}

.blog-single--content blockquote {
    border-left: 4px solid #3a7d6e;
    margin: var(--sp-30) 0;
    padding: var(--sp-15) var(--sp-24);
    background: #f7f9f8;
    border-radius: 0 10px 10px 0;
    font-style: italic;
    color: #5b5b5b;
}

.blog-single--content a {
    color: #3a7d6e;
    text-decoration: underline;
    transition: color 0.2s;
}

.blog-single--content a:hover {
    color: #E21D26;
}

/* Post navigation */
.blog-single--nav {
    display: flex;
    justify-content: space-between;
    gap: var(--sp-20);
    margin-top: var(--sp-50);
    padding-top: var(--sp-30);
    border-top: 1px solid #e2e2e2;
}

.blog-single--nav-link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    max-width: 48%;
    transition: color 0.2s;
}

.blog-single--nav-next {
    margin-left: auto;
    text-align: right;
}

.blog-single--nav-label {
    font-size: 13px;
    color: #999;
    font-weight: 400;
    margin-bottom: 4px;
}

.blog-single--nav-title {
    font-size: var(--small-font);
    font-weight: 600;
    color: #131313;
    line-height: 1.3;
    transition: color 0.2s;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog-single--nav-link:hover .blog-single--nav-title {
    color: #3a7d6e;
}

@media (max-width: 600px) {
    .blog-single {
        padding: 30px 0 40px;
    }
    .blog-single--nav {
        flex-direction: column;
    }
    .blog-single--nav-link {
        max-width: 100%;
    }
    .blog-single--nav-next {
        text-align: left;
    }
}
/* ---- / Blog single ---- */

/* ---- Materials sidebar layout ---- */
.materials-content .main-callback {
    margin-top: var(--sp-60);
    padding: var(--sp-70) var(--sp-30) var(--sp-50);
    border-radius: 15px;
}

.materials-content .wrapper > div:first-of-type {
    margin-top: 0;
}

.materials-layout {
    display: flex;
    gap: var(--sp-40);
    align-items: flex-start;
    padding: var(--sp-30) 0 var(--sp-60);
}

.materials-sidebar {
    flex: 0 0 380px;
    position: sticky;
    top: 260px;
}

.materials-sidebar--nav {
    background: linear-gradient(135deg, #f8faf9 0%, #f0f4f2 100%);
    border-radius: 12px;
    padding: 8px;
    border: 1px solid rgba(13, 96, 71, .08);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .04);
}

.materials-sidebar--list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.materials-sidebar--list li {
    margin: 0;
}

.materials-sidebar--list li + li {
    margin-top: 2px;
}

.materials-sidebar--list li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px var(--sp-17);
    color: #333;
    text-decoration: none;
    font-size: var(--small-font);
    font-weight: 400;
    border-radius: 8px;
    transition: all .25s cubic-bezier(.4,0,.2,1);
    position: relative;
    overflow: hidden;
}

.materials-sidebar--list li a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) scaleY(0);
    width: 3px;
    height: 60%;
    background: #0D6047;
    border-radius: 0 3px 3px 0;
    transition: transform .25s cubic-bezier(.4,0,.2,1);
}

.materials-sidebar--list li a:hover {
    background: rgba(13, 96, 71, .06);
    color: #0D6047;
    padding-left: var(--sp-24);
}

.materials-sidebar--list li a:hover::before {
    transform: translateY(-50%) scaleY(1);
}

.materials-sidebar--list li.current-menu-item > a,
.materials-sidebar--list li.current_page_item > a {
    background: #0D6047;
    color: #fff;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(13, 96, 71, .25);
    padding-left: var(--sp-17);
}

.materials-sidebar--list li.current-menu-item > a::before,
.materials-sidebar--list li.current_page_item > a::before {
    display: none;
}

.materials-sidebar--list .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0 0 0 var(--sp-15);
}

.materials-sidebar--list .sub-menu a {
    padding: 10px var(--sp-15);
    font-size: 13px;
}

/* ---- Materials sidebar categories ---- */
.materials-category {
    margin: 0;
}

.materials-category + .materials-category {
    margin-top: 2px;
}

.materials-category--toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px var(--sp-17);
    cursor: pointer;
    border-radius: 8px;
    transition: background .25s cubic-bezier(.4,0,.2,1);
    user-select: none;
}

.materials-category--toggle:hover {
    background: rgba(13, 96, 71, .06);
}

.materials-category--title {
    font-size: var(--medium-font);
    font-weight: 600;
    color: #333;
}

.materials-category.is-open > .materials-category--toggle {
    background: rgba(13, 96, 71, .06);
}

.materials-category.is-open > .materials-category--toggle .materials-category--title {
    color: #0D6047;
}

.calc-ipoteka {
    margin-top: var(--sp-60);w
}

.materials-category--arrow {
    flex-shrink: 0;
    color: #999;
    transition: transform .3s cubic-bezier(.4,0,.2,1), color .25s;
}

.materials-category.is-open > .materials-category--toggle .materials-category--arrow {
    transform: rotate(180deg);
    color: #0D6047;
}

.materials-category--submenu {
    list-style: none;
    margin: 0;
    padding: 0 0 0 var(--sp-15);
    overflow: hidden;
    transition: max-height .35s cubic-bezier(.4,0,.2,1);
}

.materials-category--submenu li {
    margin: 0;
}

.materials-category--submenu li + li {
    margin-top: 1px;
}

.materials-category--submenu li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px var(--sp-15);
    color: #555;
    text-decoration: none;
    font-size: var(--small-font);
    font-weight: 400;
    border-radius: 6px;
    transition: all .25s cubic-bezier(.4,0,.2,1);
    position: relative;
    overflow: hidden;
}

.materials-category--submenu li a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) scaleY(0);
    width: 3px;
    height: 60%;
    background: #0D6047;
    border-radius: 0 3px 3px 0;
    transition: transform .25s cubic-bezier(.4,0,.2,1);
}

.materials-category--submenu li a:hover {
    background: rgba(13, 96, 71, .06);
    color: #0D6047;
    padding-left: var(--sp-20);
}

.materials-category--submenu li a:hover::before {
    transform: translateY(-50%) scaleY(1);
}

.materials-category--submenu li.current-menu-item > a {
    background: #0D6047;
    color: #fff;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(13, 96, 71, .25);
    padding-left: var(--sp-15);
}

.materials-category--submenu li.current-menu-item > a::before {
    display: none;
}

.materials-content {
    flex: 1;
    min-width: 0;
}

.materials-content .mitek-page--row {
    margin-bottom: var(--sp-40);
}

.materials-content .card-mitek {
    margin-bottom: var(--sp-30);
}

@media (max-width: 1024px) {
    .materials-layout {
        flex-direction: column;
    }
    .materials-sidebar {
        flex: 0 0 auto;
        width: 100%;
        position: static;
    }
    .materials-sidebar--nav {
        padding: 6px;
    }
    .materials-sidebar--list {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }
    .materials-sidebar--list li + li {
        margin-top: 0;
    }
    .materials-sidebar--list li a {
        padding: 10px 16px;
        font-size: 13px;
    }
    .materials-sidebar--list li a::before {
        display: none;
    }
    .materials-sidebar--list li a:hover {
        padding-left: 16px;
    }
    .materials-category--toggle {
        padding: 10px 14px;
    }
    .materials-category--title {
        font-size: 13px;
    }
    .materials-category--submenu {
        padding: 0 0 0 10px;
    }
    .materials-category--submenu li a {
        padding: 8px 12px;
        font-size: 12px;
    }
    .materials-category--submenu li a:hover {
        padding-left: 12px;
    }
}
/* ---- / Materials sidebar layout ---- */

/* ---- Blog infinite scroll ---- */
.blog-scroll-sentinel {
    display: flex;
    justify-content: center;
    padding: var(--sp-40) 0 var(--sp-60);
}

.blog-scroll-spinner {
    display: none;
    width: 40px;
    height: 40px;
    border: 3px solid #e2e2e2;
    border-top-color: #3a7d6e;
    border-radius: 50%;
    animation: blogSpin 0.7s linear infinite;
}

@keyframes blogSpin {
    to { transform: rotate(360deg); }
}

.blog-grid--item-ajax {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.5s ease, transform 0.5s ease, box-shadow 0.35s ease;
}

.blog-grid--item-ajax.blog-grid--item-visible {
    opacity: 1;
    transform: translateY(0);
}
/* ---- / Blog infinite scroll ---- */

/* ---- FAQ page ---- */
.faq-section {
    margin-top: var(--sp-50);
    margin-bottom: var(--sp-80);
}

.faq-layout {
    display: flex;
    gap: var(--sp-40);
    align-items: flex-start;
}

.faq-nav {
    flex-shrink: 0;
    width: 280px;
    position: sticky;
    top: 120px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.faq-nav--item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px var(--sp-17);
    border: none;
    border-radius: 12px;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font-size: 15px;
    font-weight: 500;
    color: #5b5b5b;
    transition: all 0.25s ease;
    line-height: 1.3;
}

.faq-nav--item:hover {
    background: #f2f7f6;
    color: #131313;
}

.faq-nav--item.active {
    background: #3a7d6e;
    color: #fff;
}

.faq-nav--item_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #f0f0f0;
    transition: background 0.25s ease;
}

.faq-nav--item.active .faq-nav--item_icon {
    background: rgba(255,255,255,0.2);
}

.faq-nav--item:hover .faq-nav--item_icon {
    background: #e0ece9;
}

.faq-nav--item.active:hover .faq-nav--item_icon {
    background: rgba(255,255,255,0.25);
}

.faq-nav--item_icon svg {
    width: 20px;
    height: 20px;
}

.faq-content {
    flex: 1;
    min-width: 0;
}

.faq-content--panel {
    display: none;
}

.faq-content--panel.active {
    display: block;
    animation: faqFadeIn 0.35s ease;
}

@keyframes faqFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

.faq-item {
    border-bottom: 1px solid #e8e8e8;
}

.faq-item:first-child {
    border-top: 1px solid #e8e8e8;
}

.faq-item--question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-15);
    width: 100%;
    padding: var(--sp-20) 0;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font-size: var(--medium-font);
    font-weight: 600;
    color: #131313;
    line-height: 1.35;
    transition: color 0.2s;
}

.faq-item--question:hover {
    color: #3a7d6e;
}

.faq-item--question_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f0f0f0;
    transition: transform 0.3s ease, background 0.3s ease;
}

.faq-item.is-open .faq-item--question_icon {
    transform: rotate(180deg);
    background: #3a7d6e;
    color: #fff;
}

.faq-item--answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.faq-item--answer_inner {
    padding: 0 0 var(--sp-24);
    font-size: var(--small-font);
    color: #5b5b5b;
    line-height: 1.65;
}

.faq-item--answer_inner p {
    margin: 0 0 12px;
}

.faq-item--answer_inner p:last-child {
    margin-bottom: 0;
}

.faq-item--answer_inner ul,
.faq-item--answer_inner ol {
    margin: 0 0 12px var(--sp-20);
    padding: 0;
}

.faq-item--answer_inner a {
    color: #3a7d6e;
    text-decoration: underline;
}

/* FAQ mobile */
@media (max-width: 900px) {
    .faq-layout {
        flex-direction: column;
        gap: 0;
    }
    .faq-nav {
        position: static;
        width: 100%;
        flex-direction: row;
        overflow-x: auto;
        gap: 8px;
        padding-bottom: 20px;
        -webkit-overflow-scrolling: touch;
    }
    .faq-nav--item {
        white-space: nowrap;
        padding: 10px 16px;
        font-size: 14px;
    }
    .faq-nav--item_icon {
        width: 30px;
        height: 30px;
    }
    .faq-nav--item_icon svg {
        width: 16px;
        height: 16px;
    }
}

@media (max-width: 600px) {
    .faq-item--question {
        font-size: 15px;
        padding: 16px 0;
    }
    .faq-item--answer_inner {
        padding-bottom: 18px;
    }
}
/* ---- / FAQ page ---- */

/* ---- House gallery lightbox ---- */
.card-col--image-big {
    cursor: pointer;
}

.card-col--image-big:hover::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.08);
    border-radius: 25px;
    pointer-events: none;
    transition: background 0.2s;
}

.card-layout--img {
    cursor: pointer;
}

.card-layout--img:hover {
    opacity: 0.85;
    transition: opacity 0.2s;
}

.house-lightbox,
.layout-lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10002;
    align-items: center;
    justify-content: center;
}

.house-lightbox.is-visible,
.layout-lightbox.is-visible {
    display: flex;
}

.house-lightbox--overlay,
.layout-lightbox--overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.92);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.house-lightbox.is-active .house-lightbox--overlay,
.layout-lightbox.is-active .layout-lightbox--overlay {
    opacity: 1;
}

.house-lightbox--content {
    position: relative;
    width: calc(min(90vw, 90vh * 4 / 3));
    max-width: 90vw;
    max-height: 90vh;
    transform: scale(0.85);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.layout-lightbox--content {
    position: relative;
    width: 96vw;
    height: 96vh;
    max-width: 96vw;
    max-height: 96vh;
    transform: scale(0.85);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.house-lightbox.is-active .house-lightbox--content,
.layout-lightbox.is-active .layout-lightbox--content {
    transform: scale(1);
    opacity: 1;
}

.house-lightbox--img {
    width: 100%;
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #000;
    border-radius: 10px;
}

.house-lightbox--img img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 10px;
}

/* «Наши работы» — контейнер на максимум высоты, 4:3 по ширине, фото по наибольшему размеру */
.single-works .house-lightbox--content {
    width: calc(92vh * 4 / 3);
    max-width: 95vw;
    max-height: 95vh;
}

.single-works .house-lightbox--img {
    width: 100%;
    height: 92vh;
    max-height: 92vh;
    aspect-ratio: auto;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
}

.single-works .house-lightbox--img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.house-lightbox--close,
.layout-lightbox--close {
    position: absolute;
    top: -45px;
    right: 0;
    width: 36px;
    height: 36px;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
    z-index: 10;
}

.house-lightbox--close:hover,
.layout-lightbox--close:hover {
    opacity: 0.7;
}

.layout-lightbox--close {
    top: 5px;
    right: 5px;
}

.house-lightbox--prev,
.house-lightbox--next,
.layout-lightbox--prev,
.layout-lightbox--next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1.5px solid #fff;
    background: transparent;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
    padding: 0;
    z-index: 10;
}

.house-lightbox--prev { left: -70px; }
.house-lightbox--next { right: -70px; }
.layout-lightbox--prev { left: -70px; }
.layout-lightbox--next { right: -70px; }

.house-lightbox--prev:hover,
.house-lightbox--next:hover,
.layout-lightbox--prev:hover,
.layout-lightbox--next:hover {
    background: #3a7d6e;
    border-color: #3a7d6e;
}

.house-lightbox--nav-hidden,
.layout-lightbox--nav-hidden {
    display: none !important;
}

.house-lightbox--counter,
.layout-lightbox--counter {
    color: #fff;
    font-size: 14px;
    margin-top: 12px;
    text-align: center;
    opacity: 0.7;
}

/* Layout lightbox zoom */
.layout-lightbox--img-wrapper {
    overflow: hidden;
    width: 96vw;
    height: 96vh;
    max-width: 96vw;
    max-height: 96vh;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    cursor: grab;
}

.layout-lightbox--img-wrapper.is-dragging {
    cursor: grabbing;
}

.layout-lightbox--img-wrapper.is-zoomed {
    cursor: grab;
}

.layout-lightbox--img {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease;
    transform-origin: center center;
}

.layout-lightbox--img img {
    max-width: 96vw;
    max-height: 96vh;
    display: block;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
}

@media (max-width: 1100px) {
    .house-lightbox--prev,
    .layout-lightbox--prev { left: 10px; }
    .house-lightbox--next,
    .layout-lightbox--next { right: 10px; }
    .house-lightbox--prev,
    .house-lightbox--next,
    .layout-lightbox--prev,
    .layout-lightbox--next {
        background: rgba(0,0,0,0.5);
    }
}

@media (max-width: 768px) {
    .house-lightbox--content {
        width: calc(min(95vw, 85vh * 4 / 3));
        max-width: 95vw;
    }
    .layout-lightbox--img-wrapper {
        max-width: 98vw;
        max-height: 96vh;
        width: 98vw;
        height: 96vh;
    }
    .layout-lightbox--img img {
        max-width: 98vw;
        max-height: 96vh;
    }
}
/* ---- / House gallery lightbox ---- */

/* ---- Construction photos (Р¤РѕС‚Рѕ СЃРѕ СЃС‚СЂРѕР№РєРё) ---- */
.construction-photos {
    margin-top: var(--sp-40);
}

.construction-photos--title {
    font-size: var(--large-font);
    font-weight: 700;
    color: #131313;
    margin-bottom: var(--sp-30);
}

.construction-photos--row {
    display: flex;
    flex-wrap: wrap;
}

.construction-photos--item {
    width: 33.333%;
    background: #282828;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.construction-photos--item_img {
    padding-bottom: 75%;
    background-size: cover;
    background-position: center center;
    transition: transform .5s ease-in-out;
}

.construction-photos--item:hover .construction-photos--item_img {
    transform: scale(1.05);
}

.construction-photos--item_overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(209.11deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.9) 93.24%);
    opacity: 1;
    transition: .3s ease-in-out;
}

.construction-photos--item_info {
    position: absolute;
    z-index: 2;
    left: 10px;
    right: 10px;
    bottom: 10px;
    padding: var(--sp-17) var(--sp-20);
    color: #FFF;
    text-shadow: 0px 0px 10px rgba(0,0,0,1);
}

.construction-photos--item_info-title {
    font-size: var(--medium-font);
    color: #FFF;
    font-weight: 600;
}

@media (max-width: 768px) {
    .construction-photos--item {
        width: 50%;
    }
    .construction-photos--title {
        font-size: 32px;
    }
}

@media (max-width: 480px) {
    .construction-photos--item {
        width: 100%;
    }
}
/* ---- / Construction photos ---- */

/* ---- House video preview (РћР±Р·РѕСЂ РґРѕРјР°) ---- */
.house-video--row {
    display: flex;
    flex-wrap: wrap;
}

.house-video--item {
    width: 100%;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    border-radius: 10px;
}

.house-video--item_img {
    position: relative;
    padding-bottom: 75%;
    background: #282828;
}

.house-video--item_img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.house-video--item_play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    pointer-events: none;
}

.house-video--item_play-circle {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: rgba(226, 29, 38, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .3s ease;
}

.house-video--item_play-circle::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 22px;
    border-color: transparent transparent transparent #fff;
    margin-left: 4px;
}

.house-video--item:hover .house-video--item_play-circle {
    background: rgba(226, 29, 38, 1);
}
/* ---- / House video preview ---- */

/* в”Ђв”Ђ РЈРЅРёРІРµСЂСЃР°Р»СЊРЅР°СЏ CTA-С„РѕСЂРјР° (РїРѕРїР°Рї) в”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђ */
.cta-form--overlay {
    position: fixed;
    background-color: rgba(0, 0, 0, 0);
    z-index: 20;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: background-color 0.4s ease, opacity 0.4s ease, visibility 0.4s ease;
}

.cta-form--overlay.active {
    background-color: rgba(0, 0, 0, 0.6);
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.cta-form--box {
    background: #FFF;
    border-radius: 20px;
    padding: var(--sp-40);
    max-width: 480px;
    width: calc(100% - 30px);
    position: relative;
    transform: translateY(30px) scale(0.95);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease;
}

.cta-form--overlay.active .cta-form--box {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.cta-form--box-close {
    position: absolute;
    right: 15px;
    top: 15px;
}

.cta-form--box-close a {
    display: block;
    width: 24px;
    height: 24px;
    position: relative;
}

.cta-form--box-close a::before,
.cta-form--box-close a::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 2px;
    background: #131313;
    left: 2px;
    top: 11px;
    transition: background 0.3s ease;
}

.cta-form--box-close a:hover::before,
.cta-form--box-close a:hover::after {
    background: #E21D26;
}

.cta-form--box-close a::before {
    transform: rotate(45deg);
}

.cta-form--box-close a::after {
    transform: rotate(-45deg);
}

.cta-form--box-title {
    color: #131313;
    text-align: center;
    font-size: var(--medium-font);
    font-weight: 700;
}

.cta-form--box-subtitle {
    color: #5b5b5b;
    text-align: center;
    font-size: var(--small-font);
    font-weight: 400;
    margin-top: 10px;
    line-height: 1.3;
}

#cta-form {
    margin-top: var(--sp-25);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

#cta-form input {
    padding: var(--sp-15) var(--sp-20);
    border-radius: 10px;
    border: 1px solid #E2E2E2;
    font-size: var(--small-font);
    font-family: inherit;
    transition: border-color 0.3s ease;
    outline: none;
}

#cta-form input:focus {
    border-color: #0D6047;
}

#cta-form input::placeholder {
    color: #999;
    font-size: var(--small-font);
}

#cta-form input[type="submit"] {
    background: #0D6047;
    text-align: center;
    color: #FFF;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: background 0.3s ease, transform 0.2s ease;
}

#cta-form input[type="submit"]:hover {
    background: #0a4e3a;
}

#cta-form input[type="submit"]:active {
    transform: scale(0.98);
}

.cta-form--info {
    color: #999;
    font-size: var(--small-font);
    font-weight: 300;
    text-align: center;
}

/* в”Ђв”Ђ Р РµР·СѓР»СЊС‚Р°С‚ РѕС‚РїСЂР°РІРєРё С„РѕСЂРјС‹ (РґР»СЏ РІСЃРµС… С„РѕСЂРј) в”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђ */
.belhouse-form--result {
    margin-top: 10px;
    text-align: center;
    font-size: var(--small-font);
    line-height: 1.4;
}

.belhouse-form--success {
    background: #e8f5e9;
    color: #2e7d32;
    padding: 12px var(--sp-15);
    border-radius: 8px;
    border: 1px solid #a5d6a7;
}

.belhouse-form--error {
    background: #fbe9e7;
    color: #c62828;
    padding: 12px var(--sp-15);
    border-radius: 8px;
    border: 1px solid #ef9a9a;
}

/* в”Ђв”Ђ Р§РµРєР±РѕРєСЃ СЃРѕРіР»Р°СЃРёСЏ РґР»СЏ РїРѕРїР°Рї-С„РѕСЂРј в”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђ */
.belhouse-form--agree {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 4px;
}

.belhouse-form--agree input[type="checkbox"] {
    width: 18px !important;
    height: 18px;
    min-width: 18px;
    margin-top: 3px;
    accent-color: #0D6047;
    cursor: pointer;
    border: 1px solid #ccc !important;
    border-radius: 3px !important;
    padding: 0 !important;
}

.belhouse-form--agree label {
    color: #999;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.4;
    cursor: pointer;
}

.belhouse-form--agree label a {
    color: #0D6047;
    text-decoration: underline;
}

.belhouse-form--agree label a:hover {
    color: #0a4e3a;
}

/* в”Ђв”Ђ Р§РµРєР±РѕРєСЃ РІ inline-С„РѕСЂРјР°С… (Р°СЂС…РёРІ, СЌРєСЃРєСѓСЂСЃРёСЏ) в”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђ */
.main-projects--row-form_agree,
.card-excursion--agree {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 8px;
}

.main-projects--row-form_agree input[type="checkbox"],
.card-excursion--agree input[type="checkbox"] {
    width: 16px;
    height: 16px;
    min-width: 16px;
    margin-top: 2px;
    accent-color: #0D6047;
    cursor: pointer;
}

.main-projects--row-form_agree label,
.card-excursion--agree label {
    color: #999;
    font-size: 13px;
    font-weight: 300;
    line-height: 1.4;
}

.main-projects--row-form_agree label a,
.card-excursion--agree label a {
    color: #0D6047;
    text-decoration: underline;
}

/* в”Ђв”Ђ Р§РµРєР±РѕРєСЃ РґР»СЏ РєР°Р»СЊРєСѓР»СЏС‚РѕСЂР° в”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђ */
.calc-block--agree {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 8px;
}

.calc-block--agree input[type="checkbox"] {
    width: 16px;
    height: 16px;
    min-width: 16px;
    margin-top: 2px;
    accent-color: #0D6047;
    cursor: pointer;
}

.calc-block--agree label {
    color: #999;
    font-size: 13px;
    font-weight: 300;
    line-height: 1.4;
}

.calc-block--agree label a {
    color: #0D6047;
    text-decoration: underline;
}

/* в”Ђв”Ђ РЎС‚СЂР°РЅРёС†Р° 404 в”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђ */
.page-404 {
    padding: var(--sp-80) 0 var(--sp-100);
    text-align: center;
    min-height: 60vh;
    display: flex;
    align-items: center;
}

.page-404--content {
    max-width: 720px;
    margin: 0 auto;
}

/* Р§РёСЃР»Рѕ 404 */
.page-404--visual {
    margin-bottom: var(--sp-30);
}

.page-404--number {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    user-select: none;
}

.page-404--digit {
    font-size: 160px;
    font-weight: 800;
    line-height: 1;
    color: #131313;
}

.page-404--digit-4a {
    animation: page404-slideLeft .7s cubic-bezier(.22,1,.36,1) both;
}

.page-404--digit-0 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 160px;
    animation: page404-pop .7s .15s cubic-bezier(.22,1,.36,1) both;
}

.page-404--digit-4b {
    animation: page404-slideRight .7s cubic-bezier(.22,1,.36,1) both;
}

/* SVG-РґРѕРјРёРє */
.page-404--house {
    width: 120px;
    height: 120px;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,.1));
}

.page-404--house-roof {
    transform-origin: 60px 10px;
    animation: page404-roofBounce .5s .6s cubic-bezier(.22,1,.36,1) both;
}

.page-404--house-body {
    animation: page404-fadeUp .4s .7s ease both;
}

.page-404--house-door {
    animation: page404-fadeUp .4s .85s ease both;
}

.page-404--house-knob {
    animation: page404-fadeUp .3s .95s ease both;
}

.page-404--house-win {
    animation: page404-fadeUp .3s .8s ease both;
}

/* Р—Р°РіРѕР»РѕРІРѕРє Рё С‚РµРєСЃС‚ */
.page-404--title {
    font-size: clamp(28px, 5vw, 42px);
    font-weight: 700;
    color: #131313;
    margin: 0 0 var(--sp-15);
    line-height: 1.2;
    animation: page404-fadeUp .6s .3s ease both;
}

.page-404--text {
    font-size: clamp(15px, 2vw, 18px);
    color: #666;
    line-height: 1.6;
    margin: 0 0 var(--sp-35);
    animation: page404-fadeUp .6s .45s ease both;
}

/* РљРЅРѕРїРєРё */
.page-404--actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-15);
    flex-wrap: wrap;
    margin-bottom: 56px;
    animation: page404-fadeUp .6s .55s ease both;
}

.page-404--btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 16px;
    padding: 14px var(--sp-30);
    border-radius: 10px;
    text-decoration: none;
    transition: background .25s, color .25s, box-shadow .25s, transform .2s;
    cursor: pointer;
}

.page-404--btn:active {
    transform: scale(.97);
}

.page-404--btn-primary {
    background: #E21D26;
    color: #FFF;
}

.page-404--btn-primary:hover {
    background: #b50008;
    box-shadow: 0 4px 16px rgba(226,29,38,.35);
}

.card-mitek--header .card-mitek--header-col:last-of-type {
    width: 100%;
}

.page-404--btn-outline {
    background: transparent;
    color: #1B7A4A;
    border: 2px solid #1B7A4A;
}

.page-404--btn-outline:hover {
    background: #1B7A4A;
    color: #FFF;
    box-shadow: 0 4px 16px rgba(27,122,74,.3);
}

/* Р‘Р»РѕРє Р±С‹СЃС‚СЂС‹С… СЃСЃС‹Р»РѕРє */
.page-404--links {
    animation: page404-fadeUp .6s .65s ease both;
}

.page-404--links-title {
    font-size: 15px;
    color: #999;
    margin-bottom: var(--sp-20);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.page-404--links-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.page-404--link-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: var(--sp-24) 12px;
    background: #f7f7f7;
    border-radius: 16px;
    text-decoration: none;
    color: #333;
    transition: background .25s, box-shadow .25s, transform .25s;
}

.page-404--link-card:hover {
    background: #fff;
    box-shadow: 0 6px 24px rgba(0,0,0,.08);
    transform: translateY(-3px);
}

.page-404--link-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #E21D261A;
    color: #E21D26;
    transition: background .25s, color .25s;
}

.page-404--link-card:hover .page-404--link-icon {
    background: #E21D26;
    color: #FFF;
}

.page-404--link-label {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
}

/* РђРЅРёРјР°С†РёРё */
@keyframes page404-slideLeft {
    from { opacity: 0; transform: translateX(40px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes page404-slideRight {
    from { opacity: 0; transform: translateX(-40px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes page404-pop {
    from { opacity: 0; transform: scale(.5); }
    to   { opacity: 1; transform: scale(1); }
}

@keyframes page404-roofBounce {
    0%   { opacity: 0; transform: translateY(-18px) scaleY(.6); }
    60%  { transform: translateY(2px) scaleY(1.05); }
    100% { opacity: 1; transform: translateY(0) scaleY(1); }
}

@keyframes page404-fadeUp {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* РђРґР°РїС‚РёРІ 404 */
@media (max-width: 768px) {
    .page-404 {
        padding: 60px 0 70px;
    }

    .page-404--digit {
        font-size: 100px;
    }

    .page-404--digit-0 {
        width: 90px;
        height: 100px;
    }

    .page-404--house {
        width: 80px;
        height: 80px;
    }

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

    .page-404--actions {
        margin-bottom: 40px;
    }
}

@media (max-width: 480px) {
    .page-404 {
        padding: 40px 0 50px;
    }

    .page-404--digit {
        font-size: 72px;
    }

    .page-404--digit-0 {
        width: 68px;
        height: 72px;
    }

    .page-404--house {
        width: 60px;
        height: 60px;
    }

    .page-404--btn {
        width: 100%;
        padding: 14px 20px;
    }

    .page-404--link-card {
        padding: 16px 10px;
    }

    .page-404--link-icon {
        width: 40px;
        height: 40px;
    }
}

/* в”Ђв”Ђ РђРЅРёРјР°С†РёСЏ СЃРѕРѕР±С‰РµРЅРёР№ С„РѕСЂРј в”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђ */
.belhouse-form--success-animated,
.belhouse-form--error-animated {
    display: flex;
    align-items: center;
    gap: 10px;
    animation: belhouseFormMsg .45s cubic-bezier(.22,1,.36,1) both;
}

.belhouse-form--success-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
}

.belhouse-form--success-icon circle {
    stroke-dasharray: 157;
    stroke-dashoffset: 157;
    animation: belhouseFormCircle .5s .15s ease forwards;
}

.belhouse-form--success-icon path {
    stroke-dasharray: 40;
    stroke-dashoffset: 40;
    animation: belhouseFormCheck .35s .55s ease forwards;
}

@keyframes belhouseFormMsg {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes belhouseFormCircle {
    to { stroke-dashoffset: 0; }
}

@keyframes belhouseFormCheck {
    to { stroke-dashoffset: 0; }
}

/* ============================================================
   RESPONSIVE BREAKPOINTS
   ============================================================ */

/* Body lock when mobile menu is open */
body.menu-open {
    overflow: hidden;
}

/* Hide mobile-only elements on desktop */
.mobile-menu--close {
    display: none;
}

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

/* ---------- 1280px ---------- */
@media (max-width: 1280px) {

    /* Header info bar */
    .header-line--info .row {
        gap: 20px;
    }
    .header-line--info-position:nth-child(3) {
        display: none;
    }

    /* Header menu gap */
    .header-line-menu--menu ul {
        gap: 18px;
    }
    .header-line--logo_img img {
        height: 70px;
    }

    /* Hero */

    /* About */
    .main-about--row {
        gap: 60px;
    }

    /* Projects form */
    .main-projects--row-form_title {
        font-size: var(--large-font);
    }

    /* Callback */
    .main-callback--subtitle {
        max-width: 80%;
    }
    .main-callback--box {
        margin-top: 60px;
    }

    /* Card page */
    .card-excursion--row {
        gap: 30px;
    }
    .card-finishing--row {
        gap: 25px;
    }

    /* Filter */
    .filter-row--inputs {
        flex-wrap: wrap;
    }
    .filter-group--input {
        flex: 1 1 200px;
    }
    .filter-group--select {
        flex: 1 1 150px;
    }

    /* Footer */
    .footer-col {
        gap: 30px;
    }
    .footer-menu a {
        font-size: var(--small-font);
    }
}

/* ---------- 990px ---------- */
@media (max-width: 990px) {

    /* Header info bar вЂ” hide */
    .header-line--info {
        display: none;
    }

    /* Header вЂ” show hamburger, hide desktop menu */
    .header-line--submenu-sandwich {
        display: flex;
    }
    .header-line--menu .row {
        position: static;
    }
    /* Remove backdrop-filter containment so fixed children escape */
    .header-line--menu {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    /* Hide callback button in header bar on mobile */
    .header-line--submenu-btn {
        display: none;
    }

    .header-line-menu--menu {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        background: #1a1a1a;
        z-index: 10010;
        flex-direction: column;
        flex: none;
        justify-content: center;
        align-items: center;
        padding: 80px 30px 40px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        transform: translateX(100%);
        transition: transform .35s cubic-bezier(.4,0,.2,1);
    }
    .header-line-menu--menu.open {
        transform: translateX(0);
    }
    .header-line-menu--menu nav {
        width: 100%;
        max-width: 400px;
    }
    .header-line-menu--menu nav,
    .header-line-menu--menu nav > ul,
    .header-line-menu--menu nav > ul > li,
    .header-line-menu--menu nav > ul > li > a {
        height: auto;
    }
    .header-line-menu--menu nav > ul > li {
        display: block;
    }
    .header-line-menu--menu ul {
        flex-direction: column;
        gap: 0;
        width: 100%;
    }
    .header-line-menu--menu a,
    .header-line-menu--menu nav > ul > li > a {
        color: #fff !important;
        padding: 16px 0;
        border-bottom: 1px solid rgba(255,255,255,.08);
        display: flex;
        align-items: center;
        font-size: 18px;
        font-weight: 500;
        transition: color .2s, padding-left .2s;
    }
    .header-line-menu--menu a:hover {
        color: #4ecba5 !important;
        padding-left: 8px;
    }
    .header-line-menu--menu nav > ul > li:last-child > a {
        border-bottom: none;
    }

    /* Mobile callback button inside burger menu */
    .header-line-menu--menu .mobile-menu--callback {
        display: block;
        margin-top: 30px;
        padding: 16px 32px;
        background: #0D6047;
        color: #fff;
        text-decoration: none;
        font-size: 16px;
        font-weight: 600;
        border-radius: 10px;
        text-align: center;
        transition: background .2s;
        width: 100%;
        max-width: 400px;
        box-sizing: border-box;
        text-align: center;
    }
    .mobile-menu--callback:hover {
        background: #145a37;
    }

    /* Sub-menus inside mobile menu */
    .header-line-menu--menu .sub-menu {
        position: static !important;
        visibility: visible !important;
        opacity: 1 !important;
        box-shadow: none;
        background: transparent;
        border-radius: 0;
        padding: 0 0 0 20px;
        flex-direction: column;
        transform: none !important;
        display: none;
        min-width: 0;
        top: 100%;
    }
    .header-line-menu--menu .sub-menu.mobile-open {
        display: flex;
    }
    .header-line-menu--menu .sub-menu li {
        border-left: none !important;
    }
    .header-line-menu--menu .sub-menu li + li {
        border-top: none !important;
    }
    .header-line-menu--menu .sub-menu a {
        padding: 12px 0 !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        color: rgba(255,255,255,.7) !important;
        border-bottom: 1px solid rgba(255,255,255,.05);
    }
    .header-line-menu--menu .sub-menu a:hover {
        color: #4ecba5 !important;
    }
    .header-line-menu--menu > ul > .menu-item-has-children > .sub-menu {
        position: static !important;
        transform: none !important;
        flex-direction: column;
        border-radius: 0;
        box-shadow: none;
        padding: 0 0 5px 20px;
        background: transparent;
    }

    /* Arrow indicator for mobile submenus */
    .header-line-menu--menu .menu-item-has-children > a::after {
        margin-left: auto;
        width: 8px;
        height: 8px;
        border-color: rgba(255,255,255,.5);
        transition: transform .3s ease;
    }
    .header-line-menu--menu .menu-item-has-children.mobile-open > a::after {
        transform: rotate(-135deg);
    }

    /* Mobile menu close button */
    .mobile-menu--close {
        display: none;
        position: fixed;
        top: 20px;
        right: 20px;
        z-index: 10011;
        width: 44px;
        height: 44px;
        border: none;
        background: rgba(255,255,255,.1);
        border-radius: 50%;
        font-size: 28px;
        line-height: 1;
        color: #fff;
        cursor: pointer;
        align-items: center;
        justify-content: center;
        transition: background .2s;
    }
    .mobile-menu--close:hover {
        background: rgba(255,255,255,.2);
    }
    .mobile-menu--close.visible {
        display: flex;
    }

    /* Hamburger active state */
    .header-line--submenu-sandwich.active span:nth-child(1) {
        transform: rotate(45deg) translate(4px, 4px);
    }
    .header-line--submenu-sandwich.active span:nth-child(2) {
        opacity: 0;
    }
    .header-line--submenu-sandwich.active span:nth-child(3) {
        transform: rotate(-45deg) translate(4px, -4px);
    }

    /* Header clearance */
    .header-fixed.without-main + div,
    .header-fixed.without-main + main {
        margin-top: 0 !important;
    }

    /* Logo */
    .header-line--logo_img img {
        height: 55px;
    }

    /* Hero */
    .header-big--title {
        max-width: 80%;
    }
    
    .header-vrow {
        min-height: 80vh;
        padding-top: 100px;
    }
    .header-big--adventages {
        flex-wrap: wrap;
    }
    .header-big--adventages-item {
        flex: 1 1 calc(50% - 4px);
        min-width: calc(50% - 4px);
    }

    /* About */
    .main-about--row {
        flex-direction: column;
        gap: 30px;
    }
    .main-about--row-content {
        max-width: 100%;
    }
    .main-about--advantages-item {
        max-width: calc(50% - 12.5px);
    }

    /* History */
    .main-history--row {
        flex-direction: column;
        gap: 30px;
    }
    .main-history--info {
        flex-wrap: wrap;
        gap: 20px;
    }

    /* Catalog grid */
    .main-catalog--row-item {
        max-width: 50%;
    }

    /* Projects */
    .main-projects--row-item {
        max-width: 50%;
    }

    /* Projects inline form */
    .main-projects--row-form_body {
        flex-wrap: wrap;
    }
    .main-projects--row-form_group {
        flex: 1 1 calc(50% - 10px);
        min-width: calc(50% - 10px);
    }
    .main-projects--row-form_group--submit {
        flex: 1 1 100%;
    }

    /* Callback */
    .main-callback--subtitle {
        max-width: 100%;
    }
    .main-callback--box-row {
        flex-wrap: wrap;
    }
    .main-callback--box-row input {
        flex: 1 1 100%;
        padding: 22px 20px;
    }

    /* How we work */
    .how-job--box-row {
        flex-wrap: wrap;
    }
    .how-job--box-row_item {
        flex: 1 1 calc(50% - 5px);
        min-width: calc(50% - 5px);
    }

    /* Jobs row */
    .main-jobs--row {
        flex-direction: column;
    }
    .main-jobs--row-title {
        max-width: 100%;
    }
    .main-jobs--row-text {
        max-width: 100%;
        margin-top: 15px;
    }

    /* Offers */
    .offers-item {
        max-width: calc(50% - 10px);
    }

    .card-row .card-col:nth-child(2) {
        max-width: 100%;
        order:3;
    }

    .card-row .card-col:nth-child(1) {
        order: 1;
    }

    /* Card page */
    .card-row {
        flex-direction: column;
    }
    .card-row .card-col:first-of-type {
        order: 1;
    }
    .card-row .card-col--image-sub {
        order: 2;
    }
    .card-row .card-col:last-of-type {
        order: 3;
    }
    .card-row .card-col:first-of-type,
    .card-row .card-col:last-of-type {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .card-layout--row {
        flex-direction: column;
    }
    .card-layout--img {
        max-width: 100%;
    }
    .card-layout--floors_description {
        max-width: 100%;
    }
    .card-layout--images-item img {
        min-width: 100%;
        max-width: 100%;
    }
    .card-finishing--row {
        flex-direction: column;
    }
    .card-finishing--image {
        max-width: 100%;
    }
    .card-finishing--content {
        width: 100%;
    }
    .card-excursion--row {
        flex-direction: column;
        gap: 30px;
    }
    .card-excursion--content {
        max-width: 100%;
    }
    .card-excursion--form {
        max-width: 100%;
    }
    .card-mitek--header {
        flex-direction: column;
    }
    .card-mitek--header-col {
        max-width: 100%;
    }
    .card-mitek--header-col.card-mitek--header-col_img {
        max-width: 100%;
    }
    .card-mitek--row {
        flex-wrap: wrap;
    }
    .card-mitek--item {
        max-width: calc(50% - 5px);
    }
    .card-individual--content {
        max-width: 60%;
    }

    /* Card promo partners */
    .card-promo--partners ul {
        flex-wrap: wrap;
    }
    .card-promo--partners ul li {
        max-width: 33.333%;
        flex: 1 1 33.333%;
    }

    /* Filter */
    .filter-row--main {
        flex-direction: column;
    }
    .filter-row--inputs {
        flex-wrap: wrap;
    }
    .filter-group--input,
    .filter-group--select,
    .filter-group--buttons {
        flex: 1 1 calc(50% - 8px);
        min-width: calc(50% - 8px);
    }

    /* Equipment table / Mortgage */
    .equipment-table--row {
        flex-direction: column;
    }
    .equipment-table--row-name {
        max-width: 100%;
        border-right: none;
        border-bottom: 1px solid #E2E2E2;
    }
    .equipment-table--row-description {
        max-width: 100%;
    }
    .ipoteka-item {
        max-width: 50%;
    }
    .ipoteka-row .ipoteka-item:nth-child(3) {
        border-right: none;
    }
    .ipoteka-row .ipoteka-item:nth-child(2) {
        border-right: none;
    }

    /* Mitek page */
    .mitek-page--row {
        flex-direction: column;
    }
    .mitek-page--row_reverse {
        flex-direction: column;
    }
    .mitek-page--row_flow .mitek-page--float-left,
    .mitek-page--row_flow .mitek-page--float-right {
        float: none;
        margin-left: 0;
        margin-right: 0;
        max-width: 100%;
        margin-bottom: 20px;
    }
    .mitek-page--row_img,
    .mitek-page--row_content,
    .mitek-page--row_video {
        max-width: 100%;
    }
    .mitek-page--row_gallery {
        flex-direction: column;
        gap: 20px;
    }
    .mitek-page--row_gallery .mitek-page--row_img,
    .mitek-page--row_gallery .mitek-page--row_video {
        max-width: 100%;
    }

    /* Building now */
    .building-now--item {
        max-width: 50%;
    }

    /* Footer */
    .footer-col {
        flex-wrap: wrap;
        gap: 30px 20px;
    }
    .footer-info,
    .footer-social {
        max-width: calc(50% - 10px);
        flex: 1 1 calc(50% - 10px);
    }
    .footer-menu {
        flex-wrap: wrap;
        gap: 10px 20px;
        justify-content: center;
    }
    .footer-row {
        flex-direction: column;
        gap: 15px;
    }
    .footer-under--row {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    /* Calc block вЂ” add 990px intermediate */
    .calc-block--row {
        gap: 20px 30px;
    }

    /* How we work box */
    .how-job--box {
        padding: 30px;
    }

    /* Blog grid */
    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Reviews grid */
    .reviews-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Thanks grid */
    .thanks-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Video page */
    .video-page--grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Card finishing title */
    .card-finishing--title {
        text-align: left;
    }

    /* Card layout floors */
    .card-layout--title_row {
        flex-direction: column;
        gap: 15px;
    }

    /* Building now gallery / video */
    .building-now--video_container {
        margin-top: 30px;
    }

    /* White box padding */
    .white-box {
        padding: 15px 0;
    }

    /* Review lightbox arrows */
    .review-lightbox--prev,
    .review-lightbox--next {
        width: 36px;
        height: 36px;
    }

    /* Breadcrumbs */
    .breadcrumbs {
        gap: 12px;
        flex-wrap: wrap;
        margin: 10px 0 20px;
    }

    /* Lightbox images */
    .house-lightbox--img img,
    .layout-lightbox--content img {
        max-width: 95vw;
    }

    /* CTA form overlay */
    .cta-form--overlay .cta-form--box {
        margin: 15px;
        max-width: 100%;
    }

    /* Popup forms responsive */
    .header-form--box {
        max-width: 100%;
    }
    .architect-form--box {
        max-width: 100%;
    }
}

/* ---------- 768px ---------- */
@media (max-width: 768px) {

    .wrapper {
        padding: 0 15px;
    }

    /* Hero */
    .header-big--title {
        max-width: 100%;
    }
    
    
    .header-vrow {
        min-height: 70vh;
        padding-top: 80px;
    }
    .header-big--adventages-item {
        flex: 1 1 100%;
        min-width: 100%;
    }
    .header-big--adventages-item::before {
        width: 30px;
        height: 30px;
    }

    /* About */
    .main-about--advantages-item {
        max-width: 100%;
    }
    .main-about {
        padding: 30px 0;
    }

    /* Projects */
    .main-projects--row-item {
        max-width: 50%;
    }

    /* Catalog */
    .main-catalog--row-item {
        max-width: 50%;
    }

    /* History */
    .main-history--info {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
    }
    .main-history--info-play_icon {
        width: 60px;
        height: 60px;
    }

    /* Callback */
    .main-callback {
        padding: 40px 0 30px;
    }
    .main-callback--box {
        margin-top: 40px;
    }

    /* How we work */
    .how-job--box-row_item {
        flex: 1 1 100%;
        min-width: 100%;
    }
    .how-job--box {
        padding: 25px 15px;
    }

    /* Offers */
    .offers-item {
        max-width: 100%;
    }

    /* Card image slider */
    .card-image--slider {
        padding: 8px 15px;
        gap: 8px;
    }
    .card-image--slider-item {
        max-width: 100px;
    }

    /* Card description buttons */
    .card-description--btns_row {
        flex-direction: column;
    }
    .card-description--btns_item:not(.white) {
        max-width: 100%;
    }

    /* Card layout row to column */
    .card-layout--row.img2 .card-layout--img {
        max-width: 100%;
    }

    /* Card individual */
    .card-individual--content {
        max-width: 100%;
    }
    .card-individual--image {
        position: static;
        transform: none;
        max-width: 100%;
        margin-top: 30px;
    }
    .card-individual--row {
        flex-direction: column;
        min-height: auto;
        padding: 30px 0;
    }
    .card-individual {
        background-size: cover;
    }

    /* Card mitek */
    .card-mitek--item {
        max-width: 100%;
    }
    .card-mitek--item-title {
        min-height: auto;
    }

    /* Card promo partners */
    .card-promo--partners ul li {
        max-width: 50%;
        flex: 1 1 50%;
    }

    /* Mortgage */
    .ipoteka-item {
        max-width: 50%;
        padding: 20px;
    }

    /* Filter */
    .filter-container {
        padding: 15px;
    }
    .filter-group--input,
    .filter-group--select,
    .filter-group--buttons {
        flex: 1 1 100%;
        min-width: 100%;
    }
    .filter-row--sort {
        flex-wrap: wrap;
    }
    .filter-tabs--header {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }
    .filter-tabs--tab {
        font-size: var(--small-font);
        padding: 6px 10px;
    }

    /* Building now */
    .building-now--item {
        max-width: 50%;
    }
    .building-now--video_play-circle {
        width: 100px;
        height: 100px;
        background-size: 30px;
    }
    .building-now--video_play {
        padding: 10px;
        left: calc(50% - 32px);
        top: calc(50% - 32px);
    }

    /* Footer */
    .footer-info,
    .footer-social {
        max-width: 100%;
        flex: 1 1 100%;
    }
    .footer-col {
        flex-direction: column;
        gap: 25px;
    }
    .footer-social--line {
        margin-left: 0;
    }

    /* Video slider */
    .main-video--head {
        flex-direction: column;
        align-items: flex-start;
    }

    /* Sections padding */
    .main-projects {
        padding-bottom: 30px;
    }
    .main-offers {
        padding: 30px 0 40px;
    }
    .card-layout {
        margin-top: 50px;
    }
    .card-promo {
        margin-top: 50px;
    }
    .card-finishing {
        margin-top: 50px;
    }
    .card-mitek {
        margin-top: 50px;
        padding: 30px 15px;
    }
    .card-similar {
        margin-top: 50px;
    }
    .card-similar--slider .card-similar--item {
        flex: 1 1 50%;
        max-width: 50%;
    }
    .card-similar--arrow {
        width: 40px;
        height: 40px;
    }
    .card-similar--arrow svg {
        width: 12px;
        height: 12px;
    }
    .card-excursion {
        margin-top: 30px;
        padding: 30px 0;
    }
    .card-offers {
        margin-top: 50px;
        padding: 30px 15px 40px;
    }

    /* Popup forms */
    .header-form--box,
    .architect-form--box {
        margin: 15px;
        padding: 25px;
    }

    /* Blog grid smaller */
    .blog-grid {
        gap: 15px;
    }

    /* Blog single */
    .blog-single--thumbnail img {
        width: 100%;
        height: auto;
    }

    /* Video page */
    .video-page {
        margin-top: 30px;
    }

    /* Reviews card */
    .reviews-card--photos {
        flex-wrap: wrap;
    }
    .reviews-card {
        padding: 20px;
    }

    /* Search results */
    .page-header .page-title {
        font-size: var(--large-font);
    }

    /* Lightbox content */
    .video-modal--content {
        width: 95%;
    }
    .review-lightbox--content {
        max-width: 95vw;
    }

    /* Mobile menu padding adjustment */
    .header-line-menu--menu {
        padding: 70px 20px 30px;
    }

    /* Main map */
    .main-map {
        padding: 30px 0;
    }

    /* Card description price */
    .card-description--price-price {
        font-size: var(--large-font);
    }

    /* Card layout floors tabs */
    .card-layout--title-floors ul {
        flex-wrap: wrap;
        justify-content: center;
    }
    .card-layout--title-floors ul li {
        padding: 8px 15px;
        font-size: var(--small-font);
    }

    /* Card video section */
    .card-video {
        margin-top: 40px;
    }

    /* Entry content */
    .entry-content img {
        max-width: 100%;
        height: auto;
    }

    /* Archive/taxonomy filter actions */
    .filter-main--actions {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px;
    }

    /* Infinite scroll spinner */
    .infinite-scroll-sentinel {
        padding: 20px 0;
    }
}

/* ---------- 480px ---------- */
@media (max-width: 480px) {

    /* Hero */
    
    
    .header-big--btn a {
        padding: 12px 15px;
    }
    .header-vrow {
        min-height: 60vh;
        padding-top: 70px;
    }
    .header-big--content {
        padding: 20px 0;
    }

    /* Projects вЂ” full width */
    .main-projects--row-item {
        max-width: 100%;
    }
    .main-projects--row-form_group {
        flex: 1 1 100%;
        min-width: 100%;
    }

    /* Catalog вЂ” full width */
    .main-catalog--row-item {
        max-width: 100%;
    }

    /* Callback */
    .main-callback--box-row input {
        padding: 18px 15px;
    }

    /* Jobs grid */
    .main-jobs--grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    .main-jobs--grid-item {
        grid-column: 1 !important;
        grid-row: auto !important;
        height: 180px;
    }

    /* History */
    .main-history--row {
        margin-right: 0;
    }

    /* Card info */
    .card-info--item {
        max-width: 100%;
    }
    .card-info .card-info--item:nth-child(odd) {
        border-right: none;
    }

    /* Card promo partners */
    .card-promo--partners ul li {
        max-width: 50%;
        flex: 1 1 50%;
    }
    .card-promo--box {
        max-width: 100%;
    }

    /* Card similar */
    .card-similar--slider .card-similar--item {
        flex: 1 1 100%;
        max-width: 100%;
    }
    .card-similar--nav .slick-arrow {
        width: 36px;
        height: 36px;
    }
    .card-similar--arrow {
        width: 36px;
        height: 36px;
    }
    .card-similar--arrow svg {
        width: 11px;
        height: 11px;
    }

    /* Mortgage */
    .ipoteka-item {
        max-width: 100%;
        border-right: none !important;
    }

    /* Building now вЂ” full width */
    .building-now--item {
        max-width: 100%;
    }

    /* Footer */
    .footer-menu {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    /* Section spacings */
    .main-about--row {
        gap: 20px;
    }
    .offers-row {
        margin-top: 30px;
    }
    .how-job--box-row {
        margin-top: 20px;
    }

    /* Filter buttons grid */
    .filter-buttons--grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Slider arrows */
    .main-slider .slick-arrow {
        width: 36px;
        height: 36px;
    }
    .main-slider .slick-prev {
        left: 8px;
    }
    .main-slider .slick-next {
        right: 8px;
    }

    /* Breadcrumbs */
    .breadcrumbs {
        gap: 12px;
        flex-wrap: wrap;
    }

    /* Blog grid вЂ” 1 column */
    .blog-grid {
        grid-template-columns: 1fr;
    }

    /* Video/reviews/thanks вЂ” 1 column */
    .video-page--grid {
        grid-template-columns: 1fr;
    }
    .reviews-grid {
        grid-template-columns: 1fr;
    }
    .thanks-grid {
        grid-template-columns: 1fr;
    }

    /* Mobile menu padding */
    .header-line-menu--menu {
        padding: 65px 20px 20px;
        justify-content: flex-start;
    }
    .mobile-menu--close {
        top: 15px;
        right: 15px;
        width: 38px;
        height: 38px;
        font-size: 24px;
    }

    /* Card image slider */
    .card-image--slider {
        padding: 5px 8px;
        gap: 5px;
    }
    .card-image--slider-item {
        max-width: 70px;
    }

    /* Card layout floors */
    .card-layout--title-floors ul li {
        padding: 6px 12px;
    }

    /* Card promo */
    .card-promo--container {
        background-image: none;
    }

    /* Lightbox nav buttons */
    .house-lightbox--prev,
    .house-lightbox--next,
    .layout-lightbox--prev,
    .layout-lightbox--next,
    .video-modal--prev,
    .video-modal--next,
    .review-lightbox--prev,
    .review-lightbox--next {
        width: 32px;
        height: 32px;
    }

    /* Lightbox close buttons */
    .house-lightbox--close,
    .layout-lightbox--close,
    .video-modal--close,
    .review-lightbox--close {
        width: 32px;
        height: 32px;
        font-size: 20px;
    }

    /* Video row play icon */
    .main-video--row-item_play {
        padding: 8px;
        left: calc(50% - 30px);
        top: calc(50% - 30px);
    }
    .main-video--row-item_play-circle {
        width: 60px;
        height: 60px;
    }

    /* Popup forms full width */
    .header-form--box,
    .architect-form--box {
        max-width: 100%;
        margin: 10px;
        padding: 20px;
        border-radius: 12px;
    }

    /* CTA popup */
    .cta-form--box {
        margin: 10px;
        padding: 20px;
    }

    /* Entry content overflow */
    .entry-content {
        overflow-x: hidden;
    }
    .entry-content table {
        display: block;
        overflow-x: auto;
    }
    .entry-content iframe {
        max-width: 100%;
    }

    /* Filter sort row */
    .filter-row--sort {
        gap: 10px;
    }
    .filter-sort--link {
        font-size: 13px;
    }

    /* Building now video play */
    .building-now--video_play-circle {
        width: 70px;
        height: 70px;
        background-size: 22px;
    }
    .building-now--video_play {
        padding: 8px;
        left: calc(50% - 25px);
        top: calc(50% - 25px);
    }

    /* History section */
    .main-history {
        padding: 30px 0;
    }
    .main-history--info-play_icon {
        width: 50px;
        height: 50px;
    }

    /* Calc block agree checkbox */
    .calc-block--privacy,
    .belhouse-form--agree {
        font-size: 12px;
    }
}

/* ---------- 320px ---------- */
@media (max-width: 320px) {

    .header-big--adventages-item {
        padding: 12px;
    }

    /* Card */
    .card-description {
        padding: 15px;
    }
    .card-image--slider {
        padding: 5px 10px;
    }

    /* Calc */
    .calc-block--header {
        padding: 20px 15px;
    }
    .calc-block--body {
        padding: 20px 15px;
    }

    /* Filter */
    .filter-container {
        padding: 10px;
    }

    .main-callback--box {
        padding: 15px;
        border-radius: 15px;
    }

    /* Card page */
    .card-description {
        padding: 12px;
        border-radius: 12px;
    }
    .card-info--item {
        padding: 12px;
    }
    .card-info {
        border-radius: 12px;
    }

    /* Mobile menu */
    .header-line-menu--menu {
        padding: 55px 12px 15px;
    }
    .header-line-menu--menu a,
    .header-line-menu--menu nav > ul > li > a {
        font-size: 15px;
        padding: 12px 0;
    }

    /* Building now */
    .building-now--item_photo {
        padding-bottom: 100%;
    }

    /* Main callback */
    .main-callback--box-row input {
        padding: 14px 12px;
    }

    /* Footer */
    .footer-info--description,
    .footer-info--description a {
        font-size: var(--small-font);
    }

    /* Offers */
    .offers-item--title {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}


/* ============================================
   Contacts page
   ============================================ */

.contacts-info {
    margin-top: var(--sp-40);
}

.contacts-info--row {
    display: flex;
    gap: var(--sp-50);
    align-items: flex-start;
    flex-wrap: wrap;
}

.contacts-info--block {
    flex: 1 1 0;
    min-width: 200px;
}

.contacts-info--label {
    font-size: var(--small-font);
    color: #888;
    margin-bottom: var(--sp-10);
    font-weight: 500;
}

.contacts-info--item {
    display: flex;
    align-items: flex-start;
    gap: var(--sp-10);
}

.contacts-info--values {
    font-size: var(--medium-font);
    font-weight: 600;
    color: #131313;
    line-height: 1.6;
}

.contacts-info--values p {
    margin: 0;
}

.contacts-info--icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: #E21D26;
}

.contacts-info--icon svg {
    width: 100%;
    height: 100%;
}

.contacts-info--social {
    display: flex;
    gap: 8px;
}

/* Office repeater */
.contacts-office--title {
    text-align: center;
    font-size: var(--large-font);
    font-weight: 600;
    color: #131313;
    margin-bottom: var(--sp-40);
    line-height: 1;
}

.contacts-office {
    margin-top: var(--sp-60);
}

.contacts-office--row {
    display: flex;
    gap: var(--sp-50);
    align-items: flex-start;
}

.contacts-office--row_reverse {
    flex-direction: row-reverse;
}

.contacts-office--photo {
    flex: 0 0 50%;
    max-width: 50%;
    border-radius: 40px;
    overflow: hidden;
    font-size: 0;
}

.contacts-office--photo img {
    width: 100%;
    display: block;
}

.contacts-office--text {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: var(--sp-40);
}

.contacts-office--subtitle {
    font-size: var(--medium-font);
    font-weight: 600;
    color: #131313;
    margin-bottom: var(--sp-10);
}

.contacts-office--value {
    font-size: var(--small-font);
    color: #131313;
    line-height: 1.5;
}

.contacts-office--map {
    margin-top: var(--sp-40);
    width: 100%;
    border-radius: 0;
    overflow: hidden;
    font-size: 0;
}

.contacts-office--map iframe {
    width: 100%;
    min-height: 400px;
    display: block;
    border: none;
}

/* Contacts responsive */
@media (max-width: 990px) {
    .contacts-office--row,
    .contacts-office--row_reverse {
        flex-direction: column;
    }

    .contacts-office--photo {
        flex: none;
        max-width: 100%;
        width: 100%;
    }
}

@media (max-width: 600px) {
    .contacts-info--row {
        flex-direction: column;
        gap: var(--sp-30);
    }

    .contacts-office--map iframe {
        min-height: 280px;
    }
}