/*
Theme Name: Rut Theme
Text Domain: rut
Version: 1.0.0
Requires at least: 5.9
Requires PHP: 7.4
Description: Custom theme based on _s for VGS project.
Author: Your Name
Author URI: Your URI
Theme URI: Your Theme URI
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

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

/*--------------------------------------------------------------
# Base Styles & Variables (Optional)
--------------------------------------------------------------*/
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    }

    body {
        font-family: 'Montserrat', sans-serif;
        font-style: normal;
        font-weight: 500;
        font-size: 20px;
        line-height: 1.35;
        color: #181818;
        background-color: #FAF8F2;
    }

    a {
        color: #181818;
        text-decoration: none;
    }

    a:hover,
    a:focus {
        text-decoration: underline;
    }

    img {
        max-width: 100%;
        height: auto;
        display: block;
    }

    div#page {
        padding: 20px;
        overflow-x: hidden;
    }

    /*--------------------------------------------------------------
    # Layout
    --------------------------------------------------------------*/
    .container {
        width: 100%;
        max-width: 1840px;
        margin: 0 auto;
        padding-left: 40px;
        padding-right: 40px;
    }

    .section {
        margin-bottom: 140px; /* Default spacing between sections */
    }
    .section:last-child {
        margin-bottom: 0;
    }

    .section__title {
        font-family: 'Montserrat', sans-serif;
        font-weight: 600; /* SemiBold */
        font-size: 48px; /* Default section title size */
        line-height: 1.2; /* Approx */
        color: #181818;
        margin-bottom: 25px; /* Default margin */
    }

    .section__title--centered {
        text-align: center;
    }

    .section__description {
        font-family: 'Montserrat', sans-serif;
        font-weight: 500; /* Medium */
        font-size: 24px;
        line-height: 1.33; /* 32px / 24px */
        color: #595959; /* Default description color */
        margin-bottom: 40px; /* Default margin */
    }
     .section__description--centered {
        text-align: center;
        max-width: 800px; /* Limit width for centered descriptions */
        margin-left: auto;
        margin-right: auto;
    }

    /*--------------------------------------------------------------
    # Buttons
    --------------------------------------------------------------*/
    .button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 15px 30px;
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        font-size: 18px;
        line-height: 1.2;
        border-radius: 30px;
        text-decoration: none;
        cursor: pointer;
        transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
        border: 1px solid transparent;
        white-space: nowrap;
    }

    .button--primary {
        background-color: #D01648;
        color: #FFFFFF;
        border-color: #D01648;
    }

    .button--primary:hover,
    .button--primary:focus {
        background-color: #a7123a;
        border-color: #a7123a;
        color: #FFFFFF;
        text-decoration: none;
    }

    .button--secondary {
        background-color: transparent;
        color: #181818;
        border: 1px solid #181818;
    }

    .button--secondary:hover,
    .button--secondary:focus {
        background-color: #D01648;
        color: #FFFFFF;
        border-color: #D01648;
        text-decoration: none;
    }

    .button .arrow-icon {
        margin-left: 10px;
        width: 25px;
        height: 25px;
        display: inline-block;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7869 5.15137L19.1356 11.9999M19.1356 11.9999L12.7869 18.8484M19.1356 11.9999H5.86426' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }

    .button--primary .arrow-icon {
         background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7869 5.15137L19.1356 11.9999M19.1356 11.9999L12.7869 18.8484M19.1356 11.9999H5.86426' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }

    .button--secondary .arrow-icon {
         background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7869 5.15137L19.1356 11.9999M19.1356 11.9999L12.7869 18.8484M19.1356 11.9999H5.86426' stroke='%23181818' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }
    .button--secondary:hover .arrow-icon,
    .button--secondary:focus .arrow-icon {
         background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7869 5.15137L19.1356 11.9999M19.1356 11.9999L12.7869 18.8484M19.1356 11.9999H5.86426' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }


    /*--------------------------------------------------------------
    # Header
    --------------------------------------------------------------*/
    .site-header {
       padding: 20px 0; /* Vertical padding based on y:20 offset of inner frame */
       position: relative; /* For potential absolute positioning of sub-menu */
       max-width: 1840px;
       margin: 0 auto;
       border: 1px solid #D01648;
       border-radius: 30px;
   }
   
   .site-header .container {
      padding: 0; 
   }
   
   .site-header__inner {
       display: flex;
       align-items: center;
       justify-content: space-between;
       height: 88px; /* Height from Frame 142 */
       padding: 0 40px; /* Horizontal padding based on x:40 offset */
       position: relative; /* Ensure z-index works if needed */
       z-index: 12; /* Above sub-menu */
       /* background-color: #FAF8F2; */ /* Ensure inner part has bg */
   }
   
   /* --- Branding / Logo --- */
   .site-branding {
       flex-shrink: 0;
       position: relative;
       z-index: 15;
   }
   
   .site-branding a {
       display: block;
   }
   
   .site-branding img {
       display: block;
       width: 94px; /* Width from VECTOR 196:3076 */
       height: 88px; /* Height from VECTOR 196:3076 */
       object-fit: contain; /* Ensure logo fits */
   }
   
   /* --- Main Navigation --- */
   .main-navigation {
       margin-left: 67px; /* Gap: 161px (nav start) - 94px (logo width) */
       flex-grow: 1; /* Allow nav to take available space */
   }
   
   #header-menu {
       display: flex;
       list-style: none;
       margin: 0;
       padding: 0;
   }
   
   #header-menu > li.menu-item {
       margin: 0;
       padding: 0;
       margin-right: 30px; /* Gap between items from Figma */
       /* position: relative; */ /* For sub-menu and underline */
   }
   
   #header-menu > li.menu-item:last-child {
       margin-right: 0;
   }
   
   #header-menu > li.menu-item > a {
       font-family: 'Montserrat', sans-serif;
       font-weight: 500; /* Medium */
       font-size: 20px;
       line-height: 27px; /* Line height from Figma text */
       color: #181818; /* Default text color */
       text-decoration: none;
       display: block;
       position: relative;
       padding-bottom: 5px; /* Space for underline */
       white-space: nowrap; /* Prevent wrapping */
   }
   
   /* Underline effect */
   #header-menu > li.menu-item > a::after {
       content: '';
       position: absolute;
       bottom: 0; /* Positioned below the text */
       left: 0;
       width: 100%;
       height: 1px; /* Height from Figma rectangle */
       background-color: #D01648; /* Underline color */
       transform: scaleX(0);
       transform-origin: left;
       transition: transform 0.3s ease;
   }
   
   /* Active / Hover states for links */
   #header-menu > li.menu-item:hover > a,
   #header-menu > li.menu-item.current-menu-item > a,
   #header-menu > li.menu-item.current-menu-ancestor > a {
       color: #D01648; /* Active/Hover color */
   }
   
   #header-menu > li.menu-item:hover > a::after,
   #header-menu > li.menu-item.current-menu-item > a::after,
   #header-menu > li.menu-item.current-menu-ancestor > a::after {
       transform: scaleX(1); /* Show underline */
   }
   
   #header-menu > li.menu-item-has-children > a::before {
       content: '';
       position: absolute;
       bottom: 0;
       left: 0;
       width: 100%;
       height: 1px;
       background-color: #D01648;
       transform: scaleX(0);
       transform-origin: left;
       transition: transform 0.3s ease;
   }
   
   #header-menu > li.menu-item-has-children:hover > a::before {
       transform: scale(1);
   }
   
   /* Arrow for items with children */
   #header-menu > li.menu-item-has-children > a {
       display: flex; /* Use flex to position arrow */
       align-items: center;
   }
   
   /* Override underline pseudo-element for arrow */
   #header-menu > li.menu-item-has-children > a::after {
       content: '';
       display: inline-block;
       width: 10px; /* Width from Vector 196:3082 */
       height: 7px; /* Height from Vector 196:3082 */
       background-color: transparent; /* Remove underline color */
       background-image: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.75 3.33979L1.74996 3.33979C1.65884 3.34008 1.56952 3.36521 1.49162 3.41248C1.41372 3.45975 1.35019 3.52737 1.30786 3.60807C1.26553 3.68876 1.24601 3.77947 1.25141 3.87043C1.2568 3.96139 1.28689 4.04916 1.33846 4.12429L5.83846 10.6243C6.02496 10.8938 6.47396 10.8938 6.66096 10.6243L11.161 4.12429C11.213 4.04932 11.2436 3.96151 11.2493 3.87039C11.255 3.77928 11.2356 3.68835 11.1932 3.60749C11.1508 3.52662 11.0871 3.45891 11.009 3.41172C10.9308 3.36452 10.8412 3.33965 10.75 3.33979Z' fill='%23191919'/%3E%3C/svg%3E");
       background-repeat: no-repeat;
       background-position: center;
       margin-left: 5px; /* Gap between text and arrow (adjust as needed) */
       transform: none; /* Reset transform */
       transition: transform 0.3s ease;
       position: static; /* Override absolute positioning */
   }
   
   /* Arrow color change on hover/active parent */
   #header-menu > li.menu-item-has-children:hover > a::after,
   #header-menu > li.menu-item-has-children.current-menu-item > a::after,
   #header-menu > li.menu-item-has-children.current-menu-ancestor > a::after {
       background-image: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.60405 9.83013H10.604C10.6952 9.82984 10.7845 9.80471 10.8624 9.75744C10.9403 9.71017 11.0038 9.64255 11.0461 9.56185C11.0885 9.48116 11.108 9.39045 11.1026 9.29949C11.0972 9.20853 11.0671 9.12076 11.0155 9.04563L6.51555 2.54563C6.32905 2.27613 5.88005 2.27613 5.69305 2.54563L1.19305 9.04563C1.14096 9.1206 1.11041 9.20842 1.10473 9.29953C1.09904 9.39064 1.11844 9.48157 1.1608 9.56243C1.20317 9.6433 1.26688 9.71101 1.34503 9.7582C1.42317 9.8054 1.51276 9.83027 1.60405 9.83013Z' fill='%23D01648'/%3E%3C/svg%3E");
   }
   
   /* Arrow rotation on hover (optional, not explicitly in design) */
   /*
   #header-menu > li.menu-item-has-children:hover > a::after {
       transform: rotate(180deg);
   }
   */
   
   /* --- Sub Menu (Mega Menu) --- */
   #header-menu .sub-menu {
       display: none; /* Hidden by default */
       position: absolute;
       top: calc(100% - 9px); /* Position below header bar, accounting for potential border */
       left: -1px; /* Align with the container's left padding edge */
       width: calc(100% + 2px); /* Span full width of container + padding */
       max-width: 1840px; /* Match container width */
       background-color: #FAF8F2;
       /* border-top: 2px solid #D9CEC7; */ /* Separator line */
       padding: 70px 40px 30px; /* Padding from Figma */
       z-index: 10;
       list-style: none;
       margin: 0;
        /* Include padding in width calculation */
   
       /* Apply remaining border parts to match outer container */
       border-left: 1px solid #D01648;
       border-right: 1px solid #D01648;
       border-bottom: 1px solid #D01648;
       border-bottom-left-radius: 30px;
       border-bottom-right-radius: 30px;
   
       /* Flexbox for columns */
       /* display: flex; */
       flex-wrap: nowrap; /* Prevent wrapping columns */
       justify-content: flex-start;
       gap: 20px; /* Adjust gap between columns as needed */
   }
   
   #header-menu > li.menu-item:first-child:hover .sub-menu {
       display: flex;
	   flex-wrap: wrap;
   }
   
   #header-menu > li.menu-item:first-child:hover:after {
       content: '';
       position: absolute;
       display: block;
       width: 300px;
       height: 30px;
       bottom: 0;
       left: 140px;
   }
   
   
   
   #header-menu .sub-menu:after {
       content: '';
       width: calc(100% - 80px);
       height: 2px;
       background: #D9CEC7;
       display: block;
       position: absolute;
       left: 40px;
       top: 40px;
       z-index: 11;
   }
   
   #header-menu > li.menu-item-has-children:hover .sub-menu {
       display: flex; /* Show on hover */
   }
   
   /* Style sub-menu columns (assuming direct li children represent columns or groups) */
   #header-menu .sub-menu > li.menu-item {
       padding: 0;
       margin: 0;
       flex-basis: calc(20% - 20px); /* Example for 5 columns, adjust as needed */
       max-width: 20%; /* Prevent growing */
       /* If sub-menu items are nested further, adjust selector */
   }
   
   /* Style individual links within sub-menu */
   #header-menu .sub-menu li {
       list-style: none;
       margin: 0 0 20px 0; /* Vertical gap between links (adjust 20px based on 57px, 131px y-coords) */
       padding: 0;
   }
   #header-menu .sub-menu li:last-child {
       margin-bottom: 0;
   }
   
   #header-menu .sub-menu a {
       text-decoration: none;
       display: block;
       font-family: 'Montserrat', sans-serif;
   }
   
   /* Style the two parts of the sub-menu link text */
   /* Add span wrappers in your Walker or manually if needed */
   #header-menu .sub-menu a .menu-item-title-top { /* You'll need to add this span */
       display: block;
       font-weight: 500; /* Medium */
       font-size: 14px;
       color: rgba(89, 89, 89, 0.6); /* #595959 at 60% */
       line-height: 1.2;
       margin-bottom: 6px; /* Approximate gap */
       letter-spacing: -0.01em; /* -1% */
   }
   
   #header-menu .sub-menu a .menu-item-title-bottom { /* You'll need to add this span */
       display: block;
       font-weight: 600; /* SemiBold */
       font-size: 14px;
       color: #595959; /* Text color */
       line-height: 1.2;
       letter-spacing: 0;
   }
   
   #header-menu .sub-menu a:hover .menu-item-title-bottom {
       color: #D01648; /* Hover effect */
   }
   #header-menu .sub-menu a:hover .menu-item-title-top {
       color: rgba(89, 89, 89, 0.8); /* Slightly darken top part on hover too? Optional */
   }
   
   
   /* --- Header Contacts (Phone) --- */
   .header-contacts {
       flex-shrink: 0;
   }
   
   .header-contacts__phone {
       display: inline-flex;
       align-items: center;
       justify-content: center;
       width: 290px; /* Width from Frame 112 */
       height: 68px; /* Height from Frame 112 */
       border: 1.13px solid #D01648; /* Border from Frame 112 */
       border-radius: 34px; /* Rounded from 33.88px */
       font-family: 'Montserrat', sans-serif;
       font-weight: 600; /* SemiBold */
       font-size: 20px;
       color: #D01648; /* Text color */
       text-decoration: none;
       transition: background-color 0.3s ease, color 0.3s ease;
       box-sizing: border-box; /* Include border in size */
   }
   
   .header-contacts__phone:hover,
   .header-contacts__phone:focus {
       background-color: #D01648;
       color: #FAF8F2; /* Match header background for text color */
       text-decoration: none;
   }
   
   /* --- Mobile Menu Button --- */
   .menu-toggle {
       display: none; /* Hide on desktop */
   }
   

   @media(max-width:1099px) {
    .menu-toggle {
        all: unset;
        display: flex;
        width: 32px;
        height: 32px;
        cursor: pointer;
    }
    
    .main-navigation {
        display: none;
        width: 100%;
        height: 100vh;
        position: absolute;
        top: 84px;
        margin: 0;
    }
    
    .header-contacts {
        display: none;
    }
    
    span.menu-toggle__icon svg:last-child {
        display: none;
    }
    .site-branding img {
        width: 55px;
        height: 50px;
    }
    
    .site-header__inner {
        height: 50px;
        padding: 0 20px;
    }
    
    .site-header {
        padding: 10px 0;
    }
    .menu-open .menu-toggle__icon svg:last-child {
        display: flex;
    }
    
    .menu-open .menu-toggle__icon svg:first-child {
        display: none;
    }

    .menu-open .main-navigation {
        display: flex;
    }
    
    .main-navigation ul {
        flex-direction: column;
        gap: 15px;
    }
    
    .menu-open .site-header {
        border: 0;
        height: 100vh;
    }

    #header-menu .sub-menu {
        all: unset;
        display: none;
        flex-wrap: wrap;
        gap: 20px;
        margin: 40px 0;
    }

    #header-menu > li.menu-item:first-child:hover .sub-menu {
        display:none;
    }

    .menu-item-has-children.active .sub-menu {
        display: flex!important;
    }
    
    #header-menu .sub-menu:after {
        opacity: 0;
    }
    
    #header-menu .sub-menu > li.menu-item {
        min-width: calc(50% - 20px);
    }
    
    #header-menu .sub-menu a {
        color: var(--Text-Color, #595959);
        font-variant-numeric: lining-nums tabular-nums;
        font-family: Montserrat;
        font-size: 14px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
    }
    
    #header-menu > li.menu-item-has-children > a::before {width: 0;}

    #header-menu > li.menu-item > a::after {
        height: 0;
    }
   }
    /*--------------------------------------------------------------
    # Footer
    --------------------------------------------------------------*/


    /*--------------------------------------------------------------
    # Screen Reader Text
    --------------------------------------------------------------*/
    .screen-reader-text {
        border: 0;
        clip: rect(1px, 1px, 1px, 1px);
        clip-path: inset(50%);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute !important;
        width: 1px;
        word-wrap: normal !important;
    }

    .screen-reader-text:focus {
        background-color: #eee;
        clip: auto !important;
        clip-path: none;
        color: #444;
        display: block;
        font-size: 1em;
        height: auto;
        left: 5px;
        line-height: normal;
        padding: 15px 23px 14px;
        text-decoration: none;
        top: 5px;
        width: auto;
        z-index: 100000;
    }

    /*--------------------------------------------------------------
    # Front Page Specific Styles (front-page.php)
    --------------------------------------------------------------*/

    section.hero-section.hero-section--front-page {
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        border-radius: 50px;
        max-height: 780px;
        height: calc(100vh);
        display: flex;
        align-items: flex-end;
        position: relative;
        max-width: 1840px;
        margin: 25px auto 140px;
    }
    
    .hero-section__title {
        color: var(--White, #FFF);
    
    /* Desktop/H1 */
        font-family: Montserrat;
        font-size: 70px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        text-transform: uppercase;
        max-width: 1075px;
        width: 100%;
        margin-bottom: 20px;
    }
    
    .hero-section__subtitle {
        color: var(--White, #FFF);
    
    /* Desktop/H5 */
        font-family: Montserrat;
        font-size: 28px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        max-width: 588px;
        width: 100%;
        margin-bottom: 40px;
    }
    
    section.section.section--stats {
        max-width: fit-content;
        margin-left: auto;
        margin-right: -42px;
        margin-top: 30px;
        position: relative;
        top: 1px;
    }
    
    .stat-item {
        display: flex;
        width: 224px;
        min-height: 224px;
        padding: 30px 20px;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-start;
        flex-shrink: 0;
        border-radius: 30px 5px;
        border: 1px solid #D9CFC7;
        background: #F7F4EB;
    }
    
    .stat-item__number {
        color: var(--Black, #181818);
    
    /* Desktop/H2 */
        font-family: Montserrat;
        font-size: 48px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        text-transform: uppercase;
    }
    
    .stat-item__text {
        color: #000;
    
    /* Desktop/Body S */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 25px; /* 156.25% */
    }
    
    .stats-grid {
        display: flex;
        align-items: center;
        gap: 20px;
        justify-content: flex-end;
        width: 100%;
        background: #FAF8F2;
        border-radius: 50px 0 0;
        padding: 30px 30px 0;
        position: relative;
    }
    
    section.section.section--stats .container {
        padding: 0;
    }
    
    .hero-section__content a {
        width: 100%;
        max-width: 588px;
        height: 65px;
        margin-right: 100px;
    }
    .hero-wrap {
        display: flex;
    }

    section.hero-section.hero-section--front-page:before {
        content: '';
        background: rgb(0 0 0 / 40%);
        width: 100%;
        height: 100%;
        left: 0;
        top: 0px;
        z-index: 1;
        position: absolute;
        border-radius: 50px;
    }
    
    section.hero-section.hero-section--front-page>.container {
        position: relative;
        z-index: 2;
        padding-left: 40px;
        padding-right: 40px;
        max-width: 1560px;
    }

    .hero-section__content {
        max-width: 1440px;
        width: 100%;
        margin: 0 auto;
    }
    
    section.section.section--stats:after {
        content: '';
        width: 100%;
        height: 100%;
        background: #faf8f2;
        display: block;
        position: absolute;
        right: calc(-100% + 2px);
        z-index: 3;
        top: 0;
    }

    @media(max-width:1279px) {
        .hero-wrap {
            flex-direction: column;
        }
        
        section.section.section--stats {
            margin-top: 80px;
        }
        
        section.hero-section.hero-section--front-page {
            max-height: none;
            height: auto;
            min-height: 100vh;
            padding-top: 118px;
        }
    }

    @media(max-width: 991px) {
        .hero-section__title {
        color: var(--White, #FFF);
    
    /* H1 */
        font-family: Montserrat;
        font-size: 32px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        text-transform: uppercase;
    }
    
    .hero-section__subtitle {
        color: var(--White, #FFF);
    
    /* Body */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 25px; /* 156.25% */
        margin-bottom: 20px;
    }
    
    .button {
        font-size: 14px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        max-height: 47px;
        padding: 15px 47px;
    }
    
    .hero-section__content a {
        min-width: 266px;
        width: fit-content;
        max-width: none;
        margin-right: 0;
    }
    
    .hero-section__content {
    }
    
    .stat-item {
        display: flex;
        width: 185px;
        height: 164px;
        min-height: 164px;
        padding: 20px 15px;
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        flex-shrink: 0;
        border-radius: 30px 5px;
        border: 0.83px solid var(--Main-color, #D01648);
        background: #FBE8EA;
    }
    
    p.stat-item__number {
        color: var(--Main-color, #D01648);
        font-family: Montserrat;
        font-size: 40px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        text-transform: uppercase;
    }
    
    p.stat-item__text {
        color: #000;
        font-family: Montserrat;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 20px; /* 142.857% */
    }
    
    .stats-grid {
        padding: 20px 2px 0 20px;
        border-radius: 25px 0 0;
    }
    
    section.hero-section.hero-section--front-page {
        max-height: 700px;
        height: 100vh;
        min-height: auto;
        border-radius: 20px;
    }
    
        section.hero-section.hero-section--front-page:before {
        border-radius: 20px;
    }
    
    }
    
    @media(max-width:767px) {
        .stat-item.active {
        display: flex;
    }
    
    .stat-item {
        display: none;
    }
        section.hero-section.hero-section--front-page .container {
        padding-left: 20px;
        padding-right: 20px;
    }
    }
    
    
    
    
    
  /* About   */
  .section--about {
    border-radius: 50px;
    border: 1px solid #D9CFC7;
    background: #F7F4EB;
    padding: 60px;
    max-width: 1440px;
    margin: 0 auto 140px;
}

section .container {
    max-width: 1440px;
    padding: 0;
}

.section--about .container {
    padding: 0;
}

.text-image-section__image-content {
    border-radius: 50px 5px;
    border: 1px solid var(--Stroke, #CCC);
    min-width: 50%;
    height: calc(50vw);
    max-height: 680px;
    overflow: hidden;
    display: flex;
}

.text-image-section__image-content img {
    object-fit: cover;
    min-width: 100%;
    min-height: 100%;
}

.text-image-section__grid {
    display: flex;
    gap: 68px;
}

.section--about .section__title {
    color: var(--Black, #181818);

/* Desktop/H4 */
    font-family: Montserrat;
    font-size: 42px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}
    
.section__text {
    color: var(--Black, #181818);

/* Desktop/H6 */
    font-family: Montserrat;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 32px; /* 133.333% */
}

.section--about a.button.button--secondary {
    display: flex;
    width: 100%;
    max-width: 428px;
    height: 65px;
    padding: 20px 127px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 42px;
}   

.text-image-section__text-content {max-width: calc(50% - 60px);}
    
 @media(max-width:991px) {
    .section--about .section__title {
        color: var(--Black, #181818);
    
    /* H4 */
        font-family: Montserrat;
        font-size: 22px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        margin-bottom: 12px;
    }
    .section__text {
        color: var(--Black, #181818);
    
    /* Body */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 25px; /* 156.25% */
    }
    
    .section--about a.button.button--secondary {
        margin-top: 32px;
    }
    
    .section, section.hero-section.hero-section--front-page {
        margin-bottom: 80px;
    }
    
    .section--about {
        border-radius: 30px;
        padding: 40px;
    }
    
    .text-image-section__grid {
        gap: 40px;
    }
 }


 @media(max-width:767px) {
    .section--about {
        padding: 48px 20px;
        margin-left: -20px;
        margin-right: -20px;
    }
    
    .text-image-section__grid {
        flex-direction: column;
        gap: 25px;
    }
    
    .text-image-section__image-content {
        min-width: 100%;
        min-height: 320px;
        height: 75vw;
        border-radius: 5px 50px;
    }
    
    .text-image-section__text-content {
        max-width: none;
    }
 }


 /* Features */
 section.section.section--features .container {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.section--features-wrap * {
    text-align: left;
}

.section--features-wrap p {
    max-width: 620px;
}

.section--features-wrap {
    max-width: 850px;
}

.features-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-end;
}

.feature-card {
    display: flex;
    width: calc(50% - 10px);
    max-width: 100%;
    padding: 30px 20px;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    flex-shrink: 0;
    border-radius: 5px 30px;
    border: 1px solid var(--Stroke, #D9CFC7);
    background: var(--The-second-background, #F7F4EB);
    transition: all 0.5s;
}

h3.feature-card__title {
    color: var(--Black, #181818);

/* Desktop/H4 */
    font-family: Montserrat;
    font-size: 42px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.feature-card:hover {
    border: 1px solid var(--Hover-Color, #BC1744);
    background: var(--Background-for-cards, #FBE8EA);
    transition: all 0.5s;
    cursor: pointer;
}

@media(max-width:991px) {
    .section__title {
        color: var(--Black, #181818);
    
    /* H2 */
        font-family: Montserrat;
        font-size: 28px;
        font-style: normal;
        font-weight: 600;
        line-height: 36px; /* 128.571% */
        text-transform: uppercase;
        margin-bottom: 12px;
    }
    
    .section--features-wrap p {
        color: var(--Grey, #666);
    
    /* Body */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 25px; /* 156.25% */
        margin-bottom: 0;
    }
    
    section.section.section--features .container {
        flex-direction: column;
    }
    
    .features-grid {
        gap: 15px;
    }
    
    .feature-card {
        max-width: 100%;
        width: calc(50% - 8px);
        padding: 30px 20px;
        gap: 16px;
    }
    
    p.feature-card__description {
        color: var(--Black, #181818);
    
    /* Body */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 25px; /* 156.25% */
    }
    
    
    h3.feature-card__title {
        color: var(--Black, #181818);
    
    /* H3 */
        font-family: Montserrat;
        font-size: 24px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
    }
}

@media(max-width:767px) {
    .feature-card {
        width: 100%;
        border-radius: 30px 5px;
    }
}

 
    /* --- Stages Section (New Slider) --- */
    /* ÐšÐ¾Ð¿Ñ–ÑŽÑ”Ð¼Ð¾ ÑÑ‚Ð¸Ð»Ñ– Ð· test-page.php, Ð°Ð»Ðµ Ð±ÐµÐ· body, Ð¾ÑÐºÑ–Ð»ÑŒÐºÐ¸ Ð²Ñ–Ð½ Ð²Ð¶Ðµ Ñ” */

    /* Ð—Ð¼Ñ–Ð½Ð½Ñ–, ÑÐºÑ‰Ð¾ Ð²Ð¾Ð½Ð¸ Ñ‰Ðµ Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ñ– Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾ Ð°Ð±Ð¾ ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ñ– Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ð±Ð»Ð¾ÐºÑƒ */
    /* ÐœÐ¸ Ð¿Ñ€Ð¸Ð¿ÑƒÑÐºÐ°Ñ”Ð¼Ð¾, Ñ‰Ð¾ --bg-color-body, --slide-bg-active Ñ– Ñ‚.Ð´. Ð²Ð¶Ðµ Ñ” Ð² :root Ð°Ð±Ð¾ body */
    /* Ð¯ÐºÑ‰Ð¾ Ð½Ñ–, Ñ—Ñ… Ñ‚Ñ€ÐµÐ±Ð° Ð±ÑƒÐ´Ðµ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ ÑÑŽÐ´Ð¸ Ð°Ð±Ð¾ Ð² :root */

    .section--stages .slider-wrapper { /* Ð”Ð¾Ð´Ð°Ñ”Ð¼Ð¾ Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ .section--stages Ð´Ð»Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–Ñ‡Ð½Ð¾ÑÑ‚Ñ– */
      position: relative;
      width: 100%;
      max-width: 1440px; /* Ð¯Ðº Ñƒ test-page */
      margin: 0 auto;
      /* margin-top: 100px; Ð—Ð°Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð½Ð° Ð²Ñ–Ð´ÑÑ‚ÑƒÐ¿Ð¸ ÑÐµÐºÑ†Ñ–Ñ— */
      /* margin-bottom: 100px; Ð—Ð°Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð½Ð° Ð²Ñ–Ð´ÑÑ‚ÑƒÐ¿Ð¸ ÑÐµÐºÑ†Ñ–Ñ— */
    }

    .section--stages .flex-container {
      display: flex;
      overflow: visible;
      width: 100%;
      min-height: 500px;
      gap: 15px;
    }

    .section--stages .flex-slide {
      flex: 1;
      background-color: var(--slide-bg-inactive, #FAF8F2); /* Fallback, ÑÐºÑ‰Ð¾ Ð·Ð¼Ñ–Ð½Ð½Ð° Ð½Ðµ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð° */
      border: 1px solid var(--slide-border-inactive, #E0E0E0);
      border-radius: 12px;
      padding: 30px;
      box-sizing: border-box;
      cursor: pointer;
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      transition: flex-grow var(--slide-transition-duration, 0.5s) ease,
                  background-color var(--slide-transition-duration, 0.5s) ease,
                  border-color var(--slide-transition-duration, 0.5s) ease,
                  opacity var(--slide-transition-duration, 0.5s) ease;
      opacity: 1;
      overflow: hidden;
    	height: 500px;
    }

    .section--stages .flex-slide.out-of-view {
      flex-grow: 0 !important;
      opacity: 0 !important;
      pointer-events: none;
      border-width: 0 !important;
      padding: 0 !important;
      margin: 0 !important;
      width: 0 !important;
      min-width: 0 !important;
    }

    .section--stages .slide-number {
      font-size: 42px;
      font-weight: 600;
      color: var(--slide-text-inactive, #181818);
      line-height: 1;
      transition: color var(--slide-transition-duration, 0.5s) ease;
      position: absolute;
      top: 30px;
      left: 30px;
      z-index: 2;
    }

    .section--stages .slide-title-container {
      width: 100%;
      height: calc(100% - 30px - 51px - 30px); /* (100% Ð²Ð¸ÑÐ¾Ñ‚Ð¸ ÑÐ»Ð°Ð¹Ð´Ð° - Ð²Ñ–Ð´ÑÑ‚ÑƒÐ¿ Ð·Ð²ÐµÑ€Ñ…Ñƒ - Ð²Ð¸ÑÐ¾Ñ‚Ð° Ð½Ð¾Ð¼ÐµÑ€Ð° - Ð²Ñ–Ð´ÑÑ‚ÑƒÐ¿ Ð·Ð½Ð¸Ð·Ñƒ) */
      position: relative;
      margin-top: calc(30px + 51px + 15px); /* Ð’Ñ–Ð´ÑÑ‚ÑƒÐ¿ Ð²Ñ–Ð´ Ð²ÐµÑ€Ñ…Ñƒ + Ð²Ð¸ÑÐ¾Ñ‚Ð° Ð½Ð¾Ð¼ÐµÑ€Ð° + Ð½ÐµÐ²ÐµÐ»Ð¸ÐºÐ¸Ð¹ Ð²Ñ–Ð´ÑÑ‚ÑƒÐ¿ */
      display: flex;
      align-items: flex-end;
      justify-content: flex-start;
      overflow: hidden;
    }

    .section--stages .slide-main-title {
      font-weight: 500;
      color: var(--slide-text-inactive, #181818);
      text-align: center;
      transition: opacity var(--title-transition-duration, 0.4s) ease,
                  transform var(--title-transition-duration, 0.4s) ease,
                  color var(--slide-transition-duration, 0.5s) ease,
                  font-size var(--title-transition-duration, 0.4s) ease,
                  writing-mode 0s var(--title-transition-duration, 0.4s);
      line-height: 1.25;
      writing-mode: vertical-rl;
      transform: rotate(180deg);
      font-size: 32px;
      max-height: 100%;
      max-width: 100%;
      overflow: hidden;
      white-space: normal; /* Ð”Ð¾Ð·Ð²Ð¾Ð»ÑÑ”Ð¼Ð¾ Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ð´Ð»Ñ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ‚ÐµÐºÑÑ‚Ñƒ */
      opacity: 1;
    }

    .section--stages .slide-description {
      font-size: 16px;
      font-weight: 500;
      line-height: 27px;
      color: var(--slide-text-inactive, #181818);
      opacity: 0;
      max-height: 0;
      overflow: hidden;
      transition: opacity var(--title-transition-duration, 0.4s) ease,
                  max-height var(--title-transition-duration, 0.4s) ease,
                  margin-top var(--title-transition-duration, 0.4s) ease,
                  color var(--slide-transition-duration, 0.5s) ease;
      width: 100%;
      margin-top: 0;
    }
    .section--stages .slide-description p {
        margin-top: 0;
        margin-bottom: 0;
    }

    .section--stages .flex-slide.expanded {
      flex-grow: 2.2 !important;
      background-color: var(--slide-bg-active, #D01648);
      border-color: var(--slide-bg-active, #D01648);
    }

    .section--stages .flex-slide.expanded .slide-number {
      color: var(--slide-text-active, #FFFFFF);
    }

    .section--stages .flex-slide.expanded .slide-title-container {
      height: auto;
      margin-top: 80px; /* Ð—Ð¼Ñ–Ð½ÐµÐ½Ð¾ Ð· calc, Ñ‰Ð¾Ð± Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ‚Ð¸ test-page */
      display: block;
      overflow: visible;
    }

    .section--stages .flex-slide.expanded .slide-main-title {
      writing-mode: horizontal-tb;
      transform: rotate(0deg);
      font-size: 32px;
      color: var(--slide-text-active, #FFFFFF);
      text-align: left;
      max-height: none;
      max-width: none;
      white-space: normal;
      overflow: visible;
      margin-bottom: 20px;
      line-height: 1.2;
    }

    .section--stages .flex-slide.expanded .slide-main-title {
        max-width: min-content;
    }
	.section--stages .flex-slide.expanded:last-child .slide-main-title {
        max-width: 300px;
    }

    .section--stages .flex-slide.expanded .slide-description {
      opacity: 1;
      max-height: 100%;
      color: var(--slide-text-active, #FFFFFF);
      margin-top: auto; /* Ð¯ÐºÑ‰Ð¾ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾, Ñ‰Ð¾Ð± Ñ‚ÐµÐºÑÑ‚ Ð±ÑƒÐ² Ð²Ð½Ð¸Ð·Ñƒ */
    }

    .section--stages .slider-nav {
      position: absolute;
      bottom: -120px;
      transform: translateY(50%);
      background-color: transparent;
      border: 1px solid var(--slide-bg-active, #D01648);
      color: var(--slide-bg-active, #D01648);
      width: 80px;
      height: 80px;
      border-radius: 50%;
      cursor: pointer;
      z-index: 10;
      display: flex;
      justify-content: center;
      align-items: center;
      transition: background-color 0.3s ease, color 0.3s ease, opacity 0.3s ease;
    }
    .section--stages .slider-nav svg {
        width: 32px;
        height: 32px;
        /* fill: currentColor; */
        transition: all 0.5s;
    }
    .section--stages .slider-nav:hover:not(:disabled) {
      /* background-color: var(--slide-bg-active, #D01648); */
      /* color: var(--slide-text-active, #FFFFFF); */
      transition: all 0.5s;
    }
    .section--stages .slider-nav:disabled {
      opacity: 0.4;
      cursor: not-allowed;
      border-color: var(--slide-border-inactive, #E0E0E0);
      color: var(--slide-border-inactive, #E0E0E0);
    }
    .section--stages .slider-nav.prev {right: 120px;margin-left: 0;}
    .section--stages .slider-nav.next {right: 0;margin-right: 20px;}

    .section--stages-wrap {
        display: flex;
        justify-content: space-between;
        margin-bottom: 80px;
        gap: 30px;
    }
    
    .section--stages-wrap h2 {
        width: 100%;
        max-width: 800px;
        margin-bottom: 0;
    }
    
    .section--stages-wrap p {
        width: 100%;
        max-width: 450px;
        margin-bottom: 0;
    }
    
    
    .section--stages .flex-slide {
        border-radius: 50px 5px;
        border: 1px solid var(--Grey, #666);
        background: var(--Background, #FAF8F2);
        justify-content: flex-end;
    }

    section.section.section--stages {
        margin-bottom: 300px;
    }
    
    .section--stages .slider-nav.next svg {
        transform: rotate(180deg);
    }
    
    .section--stages .slider-nav:hover:not(:disabled) svg {
        fill: #D01648;
        transition: all 0.5s;
    }

    /* Spinner - Ð¿Ð¾ÐºÐ¸ Ð½Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð¾Ð²ÑƒÑ”Ð¼Ð¾, Ð°Ð»Ðµ ÑÑ‚Ð¸Ð»Ñ– Ð¼Ð¾Ð¶Ð½Ð° Ð·Ð°Ð»Ð¸ÑˆÐ¸Ñ‚Ð¸ Ð·Ð°ÐºÐ¾Ð¼ÐµÐ½Ñ‚Ð¾Ð²Ð°Ð½Ð¸Ð¼Ð¸ Ð°Ð±Ð¾ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ */
    /*
    .section--stages .spinner {
      position: fixed; top: 0; left: 0;
      background: rgba(250, 248, 242, 0.95);
      height: 100%; width: 100%; z-index: 1111;
      color: var(--slide-text-inactive, #181818);
      display: flex; justify-content: center; align-items: center;
    }
    .section--stages .spinner p { position: relative; padding-left: 50px; font-size: 1.2em; }
    .section--stages .cube1, .section--stages .cube2 {
      background-color: var(--slide-bg-active, #D01648);
      width: 15px; height: 15px; position: absolute; top: 50%; left: 0;
      transform: translateY(-50%);
      animation: sk-cubemove 1.8s infinite ease-in-out;
    }
    .section--stages .cube2 { animation-delay: -0.9s; }
    @keyframes sk-cubemove {
      25% { transform: translateX(25px) translateY(-50%) rotate(-90deg) scale(0.5); }
      50% { transform: translateX(25px) translateY(calc(-50% + 25px)) rotate(-179deg); }
      50.1% { transform: translateX(25px) translateY(calc(-50% + 25px)) rotate(-180deg); }
      75% { transform: translateX(0px) translateY(calc(-50% + 25px)) rotate(-270deg) scale(0.5); }
      100% { transform: translateY(-50%) rotate(-360deg); }
    }
    */

    @media(max-width:991px) {
        .section--stages .slide-number {
            font-size: 28px;
        }
        
        .section--stages .flex-slide.expanded .slide-title-container {
            margin-top: 50px;
        }
        
        .section--stages .slide-main-title, .section--stages .flex-slide.expanded .slide-main-title {
            font-size: 26px;
        }
        
        .section--stages .slide-description p {
            color: var(--White, #FFF);
        
        /* Body */
            font-family: Montserrat;
            font-size: 16px;
            font-style: normal;
            font-weight: 500;
            line-height: 25px; /* 156.25% */
        }
        
        .section--stages .flex-slide {
            height: 420px;
        }

        .section--stages .slider-nav {width: 60px;height: 60px;bottom: 10px;}

.section--stages .slider-nav.prev {
    left: calc(50% - 75px);
    margin: 0;
}

.section--stages .slider-nav.next {
    right: calc(50% - 75px);
    margin: 0;
}

section.section.section--stages {
    margin-bottom: 100px;
}

.section--stages-wrap {
    flex-direction: column;
    margin-bottom: 36px;
    gap: 0;
}

.section--stages-wrap h2 {
    margin-bottom: 12px;
}

.section--stages-wrap p {
    color: var(--Grey, #666);

/* Body */
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 25px; /* 156.25% */
}

section .section__title {
    max-width: 640px;
}

section .section__description {
    max-width: 640px;
}
    }


    @media(max-width:576px) {
        .section--stages .flex-container {
            gap: 0;
        }
        
        .section--stages .slide-main-title, .section--stages .slide-number {
            transition: none;
        }
        
        .section--stages .flex-slide {
            transition: none;
        }
    }

    /* Services cards */
    .service-card-fp {
        /* background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="345" height="286" viewBox="0 0 345 286" fill="none"><path d="M79.4971 0.5H30C13.7076 0.5 0.5 13.7076 0.5 30V266C0.5 276.77 9.23046 285.5 20 285.5H325C335.77 285.5 344.5 276.77 344.5 266V37.875L344.493 37.3721C344.226 26.835 335.601 18.375 325 18.375H122.669C119.108 18.375 115.612 17.4468 112.524 15.6885L111.912 15.3262L94.9756 4.8877C90.3221 2.01942 84.9635 0.500006 79.4971 0.5Z" fill="%23FAF8F2" stroke="%23666666"/></svg>'); */
        position: relative;
        width: calc(25% - 15px);
        min-height: 286px;
        flex-shrink: 0;
        padding: 44px 20px 28px 20px;
        text-align: center;
        gap: 20px;
        display: flex;
        flex-direction: column;
        z-index: 2;
        min-width: 345px;
        overflow: hidden;
    }

    .services-grid-fp {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        justify-content: center;
    }
    
    .service-card-fp svg {
        position: absolute;
        left: 0;
        top: 0;
        min-width: 100%;
        min-height: 100%;
        z-index: -1;
        display: flex;
    }
    
    ul.service-card-fp__short-list {
        list-style: none;
        gap: 10px;
        display: flex;
        flex-direction: column;
        max-height: 170px;
        overflow-y: auto;
        position: relative;
        z-index: 3;
    }
    
    ul.service-card-fp__short-list li:before {
        content: '';
        width: 3px;
        height: 3px;
        background: #595959;
        display: inline-block;
        border-radius: 50%;
        margin-right: 6px;
        position: relative;
        top: -4px;
    }
    
    ul.service-card-fp__short-list li {
        color: var(--Text-Color, #595959);
        text-align: left;
    
    /* Desktop/Caption */
        font-family: Montserrat;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 20px; /* 142.857% */
        position: relative;
    }
    
    h3.service-card-fp__title, h3.service-card-fp__title>a {
        color: var(--Black, #181818);
        text-align: center;
    
    /* Desktop/H5 Bold */
        font-family: Montserrat;
        font-size: 28px;
        font-style: normal;
        font-weight: 700;
        line-height: 32px; /* 114.286% */
        position: relative;
        z-index: 3;
    }
    
    .service-card-fp a {
        color: var(--Black, #181818);
    
    /* Desktop/Button S */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        height: 42px;
        margin-top: auto;
        /* position: relative; */
        z-index: 3;
    }

    .service-card-fp a:after {
        content: '';
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
    }

    .service-card-svq {
        position: absolute;
        width: 100%;
        /* height: 100%; */
        display: flex;
        top: 0;
        left: 0;
        z-index: -1;
    }
    
    .service-card-svq img {
        display: flex;
        min-width: 100%;
        position: absolute;
        left: 0px;
        top: 0px;
    }
    
    .service-card-fp:after {
        content: '';
        display: block;
        width: calc(100% - 2px);
        height: 25%;
        background: rgb(250 248 242);
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: 0;
        border-radius: 0 0 20px 20px;
        border: 1px solid #181818;
        border-top: 0;
    }
    
    .service-card-fp:hover img.service-card-hover {
        opacity: 1;
    }
    
    img.service-card-hover {
        opacity: 0;
    }
    
    .service-card-fp:hover img.service-card-normal {
        opacity: 0;
    }
    
    .service-card-fp:hover:after {
       
background: #FBE8EA;
       
border-color: #D01648;
    }
    
    .service-card-fp:hover h3 {
        color: var(--Main-color, #D01648);
    }
    
    .service-card-fp:hover a , .service-card-fp:hover h3 {
        color: var(--Main-color, #D01648);
        border-color: #D01648;
        background: 0;
    }
    
    .service-card-fp:hover, .service-card-fp:hover * {
        transition: all 0.1s;
    }
    
    .service-card-fp:hover {
        cursor: pointer;
    }


    /* Team */

    section.section.section--team {
        background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="1860" height="1274" viewBox="0 0 1860 1274" fill="none"><path d="M30 0.5H355.643C365.241 0.500047 374.625 3.28984 382.656 8.52051L383.429 9.03516L475.01 71.1543C483.375 76.8281 493.25 79.8613 503.357 79.8613H1830C1846.29 79.8613 1859.5 93.0689 1859.5 109.361V1243.5C1859.5 1259.79 1846.29 1273 1830 1273H30C13.7076 1273 0.5 1259.79 0.5 1243.5V30C0.5 13.7076 13.7076 0.500001 30 0.5Z" fill="%23F7F4EB" stroke="%23D9CFC7"/></svg>');
        background-repeat: no-repeat;
        background-size: 100%;
        padding: 180px 40px 65px;
        position: relative;
        max-width: 1840px;
        margin: 0 auto;
        margin-bottom: 160px;
    }
    
    section.section.section--team h2 {
        max-width: 730px;
        margin-bottom: 80px;
    }
    
    .team-card__photo img {
        width: 100%;
        border-radius: 30px 5px;
        max-height: 450px;
        object-fit: cover;
    }
    
    section.section.section--team .slick-track {
        display: flex;
        gap: 20px;
    }
    
    .team-card__photo {
        margin-bottom: 20px;
    }

    p.team-card__description {
        color: var(--Grey, #666);
    
    /* Desktop/Body L */
        font-family: Montserrat;
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: 27px; /* 135% */
        margin-bottom: 20px;
    }
    
    h3.team-card__name {
        color: var(--Main-color, #D01648);
    
    /* Desktop/Body S Medium */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        margin-bottom: 8px;
    }
    
    p.team-card__position {
        color: var(--Grey, #666);
    
    /* Desktop/Caption */
        font-family: Montserrat;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 20px; /* 142.857% */
    }

    button.slider-arrow.slick-arrow {
        all: unset;
        display: inline-flex;
        width: 80px;
        height: 80px;
        border: 1px solid #D01648;
        border-radius: 50%;
        justify-content: center;
        align-items: center;
        cursor: pointer;
    }
    
    button.slider-arrow.slider-arrow--next.slick-arrow {
        transform: rotate(180deg);
        margin-left: 15px;
    }
    
    button.slider-arrow.slick-arrow:hover svg {
        fill: #D01648;
    }
    
    .slider-controls {
        text-align: right;
        margin-top: 60px;
        position: relative;
        z-index: 2;
    }
    
    section.section.section--team:after {
        content: '';
        width: calc(100% - 2px);
        height: 800px;
        background: #f7f4eb;
        display: block;
        border: 1px solid #D9CFC7;
        border-radius: 0 0 25px 25px;
        border-top: 0;
        position: absolute;
        bottom: -20px;
        left: 0px;
        z-index: 1;
        opacity: 1;
    }

    .team-slider {
        z-index: 2;
    }

    @media(max-width:991px) {
        section.section.section--team {
            background: #F7F4EB;
            background-repeat: no-repeat;
            background-size: contain;
            border-radius: 25px;
            padding: 73px 20px 48px 20px;
            margin: 0 -20px 80px -20px;
        }
        section.section.section--team:after {
            display: none;
        }
        
        button.slider-arrow.slick-arrow {
            width: 60px;
            height: 60px;
        }
        
        section.section.section--team h2 {
            margin-bottom: 40px;
        }
        
        .slider-controls {
            margin-top: 40px;
        }
        
        p.team-card__description {
            color: var(--Grey, #666);
        
        /* Subtitle */
            font-family: Montserrat;
            font-size: 18px;
            font-style: normal;
            font-weight: 500;
            line-height: 24px; /* 133.333% */
        }
        
        .team-card__photo img {
            max-height: 320px;
        }

        .services-grid-fp {margin: 0 -20px;gap: 10px;}

h3.service-card-fp__title, h3.service-card-fp__title>a {
    color: var(--Black, #181818);
    text-align: center;
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 17.159px; /* 107.246% */
}

.service-card-fp a {
    color: var(--Black, #181818);
    font-family: Montserrat;
    font-size: 10px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    height: 36px;
}

ul.service-card-fp__short-list li {
    color: var(--Black, #181818);
    text-align: center;
    font-family: Montserrat;
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
    line-height: 13px; /* 130% */
}

.service-card-fp {
    min-height: 226px;
    min-width: 185px;
}

.service-card-fp:after {
    height: 200px;
    border-radius: 0 0 10px 10px;
    border-color: #c5c4c0;
}
    }
    

@media(max-width:550px) {
    .service-card-fp {
        min-width: 160px;
        width: calc(50% - 20px);
    }
    ul.service-card-fp__short-list {
        max-height: 140px;
    }
}    
    

/* Forma */
.contact-form__wrapper {
    display: flex;
    gap: 86px;
    justify-content: space-between;
}

.contact-form__text-content {
    max-width: 530px;
}

.contact-form__text-content h2 {
    color: var(--Black, #181818);

/* Desktop/H4 */
    font-family: Montserrat;
    font-size: 42px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin-bottom: 40px;
}

.contact-form__form-content {
    width: 100%;
    padding: 101px 55px 60px 55px;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
}

.contact-form__form-content form p input {
    all: unset;
    width: calc(100% - 55px);
    display: flex;
    height: 67px;
    padding: 0 30px;
    border-radius: 30px;
    border: 1px solid var(--Stroke, #CCC);
    background: var(--Background, #FAF8F2);
    margin-bottom: 10px;
}



p.contact-form__subtitle {
    color: var(--Black, #181818);

/* Desktop/Body S */
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 25px; /* 156.25% */
    display: flex;
    flex-direction: column;
}

.contact-form__form-content-wrp {
    position: relative;
    display: flex;
    max-width: fit-content;
}

p.contact-form__note {
    color: var(--Grey, #666);
    font-family: Montserrat;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.contact-form__form-content form p input.wpcf7-submit {
    display: flex;
    height: 70px;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: var(--White, #FFF);

/* Desktop/Button */
    font-family: Montserrat;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    border-radius: 30px;
    background: var(--Main-color, #D01648);
    border: 0;
    margin-top: 25px;
    cursor: pointer;
}

/* Стилі для попапу Contact Form 7 */
.cf7-custom-popup {
    display: none; /* Приховано за замовчуванням */
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.5);
    justify-content: center;
    align-items: center;
    padding: 20px; /* Додано для маленьких екранів */
}

.cf7-popup-content {
     /* Колір фону як на вашому зображенні (приблизно) */
     
      /* Збільшено падінги */
     /* Можна прибрати або зробити світлішим, якщо фон зливається */
     width: 100%;
     max-width: 1000px; /* Максимальна ширина */
      /* Якщо потрібні заокруглені кути */
     text-align: center;
     position: relative;
      /* М'якша тінь */
      /* Основний колір тексту */
     border-radius: 30px;
     background: var(--Background, #FAF8F2);
     display: inline-flex;
     /* height: 511px; */
     padding: 120px 60px;
     flex-direction: column;
     align-items: center;
     gap: 30px;
     flex-shrink: 0;
}

.cf7-popup-close {
    color: #aaa;
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 28px;
    font-weight: bold;
    line-height: 1;
}

.cf7-popup-close:hover,
.cf7-popup-close:focus {
    color: #333;
    text-decoration: none;
    cursor: pointer;
}

#cf7-popup-message-container .cf7-popup-title {
     /* Розмір заголовка */
     /* Жирний шрифт */
      /* Темний колір заголовка */
     margin-bottom: 30px;
      /* Великі літери */
     color: var(--Black, #181818);
     text-align: center;

/* Desktop/H2 Bold */
     font-family: Montserrat;
     font-size: 48px;
     font-style: normal;
     font-weight: 700;
     line-height: normal;
     text-transform: uppercase;
}

#cf7-popup-message-container .cf7-popup-subtitle {
    font-size: 16px; /* Розмір підзаголовка */
    color: #333333; /* Колір підзаголовка */
    line-height: 1.6;
    margin-bottom: 0;
}

#cf7-popup-message-container .cf7-popup-error { /* Для повідомлень про помилки */
    font-size: 16px;
    color: #D8000C; /* Червоний для помилок */
    background-color: #FFD2D2; /* Світло-червоний фон для помилок */
    padding: 10px;
    border-radius: 5px;
    line-height: 1.6;
}


/* Приховуємо стандартне повідомлення Contact Form 7 */
div.wpcf7-response-output {
    display: none !important;
}



.cf7-popup-close {
    color: #fff;
    font-size: 50px;
    font-weight: normal;
    position: absolute;
    top: -45px;
    right: -20px;
}

.contact-form__form-content-wrp svg:nth-child(2) {
    display: none;
}

@media(max-width:1359px) {
    .contact-form__wrapper {
        flex-direction: column;
        align-items: center;
        gap: 60px;
    }
    
    .contact-form__text-content {
        max-width: 730px;
    }
}

@media(max-width:991px) {
    .cf7-popup-content {
        padding: 50px 20px;
    }
    
    #cf7-popup-message-container .cf7-popup-title {
        font-size: 28px;
        font-style: normal;
        font-weight: 700;
        line-height: 36px;
    }

    .contact-form__text-content h2 {
        color: var(--Black, #181818);
    
    /* H3 */
        font-family: Montserrat;
        font-size: 24px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        margin-bottom: 20px;
    }
    
    .contact-form__wrapper {
        gap: 50px;
    }
    
    .contact-form__form-content {
        padding: 86px 30px 60px 30px;
        /* max-width: calc(100vw - 100px); */
        /* left: 50%; */
        /* transform: translateX(-50%); */
    }
    
    .contact-form__form-content form p input.wpcf7-submit {
        height: 47px;
        color: var(--White, #FFF);
        font-family: Montserrat;
        font-size: 14px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
    }
    
    .contact-form__form-content form p input {
        font-size: 16px;
        height: 61px;
    }
    
    .contact-form__form-content-wrp {
        justify-content: center;
        align-items: center;
    }

    .contact-form__form-content-wrp svg:nth-child(1) {
        display: none;
    }
    .contact-form__form-content-wrp svg:nth-child(2) {
        display: flex;
        width: 100%;
    }
}

.contact-form__form-content form p input:focus {
    border-color: #d01648;
}

span.wpcf7-not-valid-tip {
    position: absolute;
    bottom: 4px;
    left: 30px;
    font-size: 11px;
}

/* Footer */
.site-footer__top {
    display: flex;
    gap: 20px;
}

.site-footer-left {
    display: flex;
    max-width: 545px;
    width: 33%;
    min-height: 528px;
    padding: 60px 80px 60px 40px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 76px;
    flex-shrink: 0;
    border-radius: 5px 50px;
    border: 1px solid var(--Stroke, #CCC);
    background: var(--Main-color, #D01648);
}

footer .container {
    padding: 0;
}

.site-footer__branding {
    display: flex;
    flex-direction: column;
    gap: 60px;
    height: 100%;
    margin-left: auto;
    min-width: 230px;
}

.site-footer__branding a {
    display: inline-block;
    max-width: max-content;
}

.site-info {
    margin-top: auto;
    color: var(--White, #FFF);
    font-family: Montserrat;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 25px; /* 178.571% */
}

ul#footer-menu {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

ul#footer-menu a {
    color: var(--White, #FFF);
    font-family: Montserrat;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 25px; /* 138.889% */
}

.site-footer-right {
    display: flex;
    min-width: calc(67% - 20px);
    width: 100%;
    max-width: calc(100% - 565px);
    padding: 60px 40px 60px 120px;
    align-items: flex-start;
    gap: 76px;
    flex-shrink: 0;
    border-radius: 50px;
    border: 1px solid var(--Stroke, #D9CFC7);
    background: var(--The-second-background, #F7F4EB);
    flex-wrap: wrap;
}

ul#footer-policy-menu {
    list-style: none;
    max-width: 463px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

ul#footer-policy-menu a {
    color: var(--Black, #181818);
    font-family: Montserrat;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 25px; /* 138.889% */
}

ul#footer-policy-menu a:hover {
    color: #D01648;
}

h3.site-footer__title {
    color: var(--Main-color, #D01648);
    font-family: Montserrat;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin-bottom: 15px;
}

ul.footer-contacts__phones {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

ul.footer-contacts__phones a {
    color: var(--Black, #181818);
    font-family: Montserrat;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.footer-schedule__text p {
    color: var(--Black, #181818);
    font-family: Montserrat;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 25px; /* 138.889% */
}

.site-footer {
}

.site-footer__contacts {
    min-width: fit-content;
}

.site-footer__schedule {
    min-width: fit-content;
}

.site-footer__policy {
    width: fit-content;
    max-width: 420px;
}

@media(max-width:767px) {
    .site-footer__top {
        flex-direction: column;
    }
    
    .site-footer-left {
        max-width: 100%;
        width: 100%;
        padding: 48px;
        gap: 40px;
        min-height: auto;
    }
    
    .site-footer__branding {
        margin: 0;
        min-width: 100%;
        justify-content: center;
        align-items: center;
    }
    
    .site-footer__branding>a {
        width: 85px;
    }
    
    nav.footer-navigation {
    }
    
    ul#footer-menu a {
        font-size: 16px;
        line-height: 23px;
    }
    
    .site-info {
        color: var(--White, #FFF);
        text-align: center;
    
    /* Caption */
        font-family: Montserrat;
        font-size: 12px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }
    
    .site-footer-right {
        padding: 40px 20px;
        min-width: 100%;
        gap: 40px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    
    .site-footer__policy {
        text-align: center;
    }
    
    ul#footer-policy-menu a {}
    
    h3.site-footer__title {
        color: var(--Main-color, #D01648);
        text-align: center;
    
    /* Subtitle Medium */
        font-family: Montserrat;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: 24px; /* 133.333% */
    }
    
    .footer-schedule__text p {
        color: var(--Black, #181818);
        text-align: center;
    
    /* Body Medium */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 600;
        line-height: 23px; /* 143.75% */
    }
    
    ul.footer-contacts__phones a {
        color: var(--Black, #181818);
        text-align: center;
    
    /* Body Medium */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 600;
        line-height: 23px; /* 143.75% */
    }
}

    /*--------------------------------------------------------------
    # CPT Service Archive (archive-service.php)
    --------------------------------------------------------------*/


    /*--------------------------------------------------------------
    # CPT Service Single (single-service.php)
    --------------------------------------------------------------*/

    section.section.section--expect.text-image-section {
        border-radius: 50px;
        border: 1px solid #D9CFC7;
        background: #F7F4EB;
        padding: 60px;
        max-width: 1440px;
        margin: 80px auto 140px;
    }
    
    section.section.section--expect.text-image-section .text-image-section__image-content {
        max-height: 650px;
    }
    
    section.section.section--expect.text-image-section h2 {
        color: var(--Black, #181818);
    
    /* Desktop/H4 */
        font-family: Montserrat;
        font-size: 42px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
    }

    body:not(.home) .hero-section  {
        margin-top: 25px;
        border-radius: 30px;
        position: relative;
        overflow: hidden;
        min-height: 500px;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        display: flex;
        align-items: center;
        padding: 0 40px;
    }
    
    
    body:not(.home) .hero-section::before {
        content: '';
        background: rgb(0 0 0 / 40%);
        width: 100%;
        height: 100%;
        left: 0;
        top: 0px;
        z-index: 1;
        position: absolute;
        border-radius: 30px;
    }
    
    body:not(.home) .hero-section  .container {
        z-index: 2;
        position: relative;
    }
    
    body:not(.home, .blog) .hero-section  h1 {
        color: var(--White, #FFF);
    
    /* Desktop/H2 Bold */
        font-family: Montserrat;
        font-size: 48px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        text-transform: uppercase;
        margin-bottom: 20px;
    }
    
    body:not(.home) .hero-section .hero-section__subtitle {
        color: var(--White, #FFF);
    
    /* Desktop/Body L */
        font-family: Montserrat;
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: 27px; /* 135% */
    }
    
    body:not(.home) .hero-section__content {
        max-width: 985px;
        margin-left: 0;
        margin-right: auto;
    }

    .container.content-container {
        padding: 0;
    }

    h3.faq-item__question {
        color: var(--Main-color, #D01648);
    
    /* Desktop/H4 */
        font-family: Montserrat;
        font-size: 42px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        margin-bottom: 20px;
    }
    
    .faq-item__answer {
        color: var(--Text-Color, #595959);
    
    /* Desktop/H6 */
        font-family: Montserrat;
        font-size: 24px;
        font-style: normal;
        font-weight: 500;
        line-height: 32px; /* 133.333% */
    }
    
    .faq-item {
        padding: 30px 0;
        border-top: 1px solid var(--Stroke, #CCC);
    }
    
    .faq-item:first-child {
        padding-top: 0;
        border: 0;
    }
    
    section.section.section--faq {
        width: 100%;
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto;
    }

    .section--related-services .section--stages-wrap {
        flex-direction: column;
    }

    .section--related-services .section--stages-wrap {
        flex-direction: column;
        margin-bottom: 140px;
    }
    
    .services-grid-fp.related-services-grid {
        margin-top: 50px;
    }
    

    @media(max-width:991px) {
        .services-grid-fp.related-services-grid {
            margin-top: 24px;
        }
        
        .section--related-services .section--stages-wrap {
            margin-bottom: 80px;
        }

        section.section.section--expect.text-image-section {
            margin-top: 80px;
            margin-bottom: 80px;
            border-radius: 30px;
            padding: 40px;
        }
        
        section.section.section--expect.text-image-section h2 {
            color: var(--Black, #181818);
        
        /* H4 */
            font-family: Montserrat;
            font-size: 22px;
            font-style: normal;
            font-weight: 600;
            line-height: normal;
            margin-bottom: 12px;
        }

        body:not(.home) .hero-section h1 {
            color: var(--White, #FFF);
        
        /* H2 Bold */
            font-family: Montserrat;
            font-size: 28px;
            font-style: normal;
            font-weight: 700;
            line-height: 36px; /* 128.571% */
            text-transform: uppercase;
        }
        
        body:not(.home) .hero-section .hero-section__subtitle {
            color: var(--White, #FFF);
        
        /* Body 2 */
            font-family: Montserrat;
            font-size: 14px;
            font-style: normal;
            font-weight: 500;
            line-height: 19px; /* 135.714% */
        }
        
        body:not(.home) .hero-section {
            margin-top: 15px;
        }

        h3.faq-item__question {
            color: var(--Main-color, #D01648);
        
        /* H3 */
            font-family: Montserrat;
            font-size: 24px;
            font-style: normal;
            font-weight: 600;
            line-height: normal;
        }
        
        .faq-item__answer {
            color: var(--Text-Color, #595959);
        
        /* Body */
            font-family: Montserrat;
            font-size: 16px;
            font-style: normal;
            font-weight: 500;
            line-height: 25px; /* 156.25% */
        }
        
        .faq-item {
            padding: 20px 0;
        }
    }

    @media(max-width:767px) {
        section.section.section--expect.text-image-section .text-image-section__grid {
            flex-direction: column-reverse;
        }
        
        section.section.section--expect.text-image-section {
            padding: 48px 20px;
            margin-left: -20px;
            margin-right: -20px;
        }
    }
    /*--------------------------------------------------------------
    # Blog Archive & Related Posts (archive.php, home.php, single.php)
    --------------------------------------------------------------*/
    .post-card {
        display: flex;
        flex-direction: column;
        width: calc(33.33% - 15px);
        max-width: 466px;
        padding: 20px 20px 30px 20px;
        align-items: center;
        gap: 16px;
        flex-shrink: 0;
        border-radius: 30px;
        border: 1px solid var(--Stroke, #D9CFC7);
        background: var(--The-second-background, #F7F4EB);
        position: relative;
        transition: all 0.3s;
    }
    
    .post-card__excerpt {
        color: var(--Text-Color, #595959);
    
    /* Desktop/Caption */
        font-family: Montserrat;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 20px; /* 142.857% */
        /* height: 60px; */
        overflow: hidden;
        position: relative;
        max-width: calc(100% - 40px);
        margin-bottom: 27px;
    }

    .post-card__date {
        color: var(--Main-color, #D01648);
    
    /* Desktop/Body S */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 25px; /* 156.25% */
    }
    
    .post-card__content {display: flex;flex-direction: column;gap: 15px;}
    
    .post-card__title {
        color: var(--Black, #181818);
        font-family: Montserrat;
        font-size: 24px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
    }
    
    .post-card__image {
        border-radius: 30px;
        overflow: hidden;
        width: 100%;
        height: 250px;
        display: flex;
    }
    
    .post-card__image img {
        width: 100%;
        object-fit: cover;
        object-position: center;
    }
    
    .post-card__image a {
        display: flex;
        width: 100%;
    }
    
    .blog-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        max-width: 1440px;
        width: 100%;
        margin: 80px auto 140px auto;
    }
    
    .post-card__image a:after {
        content: '';
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
    }
    
    .container.page-container {
        padding: 0;
    }

    .post-card__link {
        height: 27px;
        display: flex;
        justify-content: flex-end;
        position: absolute;
        width: 100%;
        left: -22px;
        bottom: 27px;
    }
    
    .post-card:hover {
        border: 1px solid var(--Main-color, #D01648);
        background: var(--Background-for-cards, #FBE8EA);
        transition: all 0.3s;
    }
    
    .post-card:hover .post-card__link span {
        transform: rotate(45deg);
        transition: all 0.3s;
    }
    
    .post-card__link span {
        transition: all 0.3s;
    }

    @media(max-width:991px) {
        .post-card {
            width: calc(50% - 10px);
        }
        .blog-grid {
            margin-bottom: 80px;
        }
    }

    @media(max-width:639px) {
        .post-card {
            width: 100%;
            max-width: 100%;
        }
        .post-card__date {
            color: var(--Main-color, #D01648);
        
        /* Body 2 */
            font-family: Montserrat;
            font-size: 14px;
            font-style: normal;
            font-weight: 500;
            line-height: 19px; /* 135.714% */
        }
        
        .post-card__title {
            color: var(--Black, #181818);
        
        /* Subtitle Medium */
            font-family: Montserrat;
            font-size: 18px;
            font-style: normal;
            font-weight: 600;
            line-height: 24px; /* 133.333% */
        }
        
        .post-card__image {
            min-height: 150px;
            height: 35vw;
            max-height: 250px;
        }
    }
    



    p.hero-section__label {
        display: none;
    }
    
    span.entry-meta__date {
        color: var(--White, #FFF);
    
    /* Desktop/Body S */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 25px; /* 156.25% */
    }
    
    article.entry-content {
        max-width: 1440px;
        margin: 80px auto 140px auto;
    }
    
    article.entry-content * {
        color: var(--Text-Color, #595959);
    
    /* Desktop/Body L */
        font-family: Montserrat;
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: 27px; /* 135% */
    }
    
    article.entry-content h2, article.entry-content h1, article.entry-content h3, article.entry-content h4, article.entry-content h5, article.entry-content h6 {
        color: var(--Main-color, #D01648);
        font-family: Montserrat;
        font-size: 36px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        margin-bottom: 20px;
    }
    
    article.entry-content p {
        margin-bottom: 32px;
    }
    
    article.entry-content ul, article.entry-content ol {
        margin-bottom: 32px;
        padding-left: 20px;
    }
    
    section.section.section--related-posts {
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }

    @media(max-width:991px) {
        article.entry-content {
            margin-bottom: 80px;
            margin-top: 40px;
        }
        
        .related-posts-grid.blog-grid {
            margin-top: 40px;
        }
        
        article.entry-content * {
            color: var(--Text-Color, #595959);
        
        /* Body */
            font-family: Montserrat;
            font-size: 16px;
            font-style: normal;
            font-weight: 500;
            line-height: 25px; /* 156.25% */
        }
        
        article.entry-content h2, article.entry-content h1, article.entry-content h3, article.entry-content h4, article.entry-content h5, article.entry-content h6 {
            color: var(--Main-color, #D01648);
        
        /* H3 */
            font-family: Montserrat;
            font-size: 24px;
            font-style: normal;
            font-weight: 600;
            line-height: normal;
        }
    }

    /*--------------------------------------------------------------
    # Page Template: About Us (page-about.php)
    --------------------------------------------------------------*/
@media(min-width:992px) {
    body.page-template-page-about .hero-section {
        max-height: 750px;
        height: 100vh;
    }
    
    body.page-template-page-about .hero-section h1 {
        color: var(--White, #FFF);
    
    /* Desktop/H1 */
        font-family: Montserrat;
        font-size: 70px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        text-transform: uppercase;
    }
    
    body.page-template-page-about .hero-section .hero-section__subtitle {
        color: var(--White, #FFF);
    
    /* Desktop/H5 */
        font-family: Montserrat;
        font-size: 28px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }
}

.content-blocks-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.content-block {
    width: calc(50% - 10px);
    display: flex;
    min-height: 450px;
    padding: 50px;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    border-radius: 50px 5px;
    border: 1px solid var(--Main-color, #D01648);
    cursor: pointer;
    transition: all 0.3s;
}

section.section.section--content-blocks {
    margin-top: 80px;
}

h2.content-block__title {
    color: var(--Main-color, #D01648);
    font-family: Montserrat;
    font-size: 36px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin-bottom: 32px;
}

.content-block:hover {
    border-radius: 50px 5px;
    border: 1px solid var(--Main-color, #D01648);
    background: var(--Main-color, #D01648);
    transition: all 0.3s;
}

.content-block:hover * {
    color: #fff;
}

.content-block__text {
    color: var(--Black, #181818);

/* Desktop/Body S */
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 25px; /* 156.25% */
}

@media(max-width:991px) {
    h2.content-block__title {
        font-family: Montserrat;
        font-size: 28px;
        font-style: normal;
        font-weight: 600;
        line-height: 36px; /* 128.571% */
    }
    
    .content-block {
        min-height: 382px;
        padding: 30px 20px;
    }
}

@media(max-width:767px) {
    .content-block {
        width: 100%;
    }
}

.values-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.value-card, .value-card-title {
    width: calc(50% - 10px);
    min-height: 347px;
}

.value-card {
    display: flex;
    padding: 40px 30px;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    border-radius: 5px 30px;
    border: 1px solid #D9CFC7;
    background: #F7F4EB;
    transition: all 0.3s;
    cursor: pointer;
}

h3.value-card__title {
    color: #181818;
    font-family: Montserrat;
    font-size: 36px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin-bottom: 32px;
    text-transform: uppercase;
    transition: all 0.3s;
}

.value-card__description {
    color: var(--Black, #181818);

/* Desktop/Body L */
    font-family: Montserrat;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 27px; /* 135% */
}

.value-card:hover {
    transition: all 0.3s;
    border: 1px solid var(--Hover-Color, #BC1744);
    background: var(--Background-for-cards, #FBE8EA);
}

.value-card:hover h3 {
    color: var(--Main-color, #D01648);
    transition: all 0.3s;
}

.value-card-title {
    padding-right: 20px;
}

@media(max-width:991px) {
    h3.value-card__title {
        color: var(--Black, #181818);
    
    /* H3 */
        font-family: Montserrat;
        font-size: 24px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
    }
    
    .value-card {
        padding: 30px 20px;
        min-height: 300px;
    }
    
    .value-card__description {
        color: var(--Black, #181818);
    
    /* Body */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 25px; /* 156.25% */
    }
    
    .value-card {}
    
    .value-card-title {
        min-height: 300px;
    }
    
    .value-card-title .section__subtitle {
        color: var(--Grey, #666);
    
    /* Body */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 25px; /* 156.25% */
    }
}

@media(max-width:767px) {
    .value-card, .value-card-title {
        width: 100%;
    }
    
    .value-card-title {
        padding: 0;
        min-height: auto;
        margin-bottom: 20px;
    }
}


    /*--------------------------------------------------------------
    # Page Template: Contact Us (page-contact.php)
    --------------------------------------------------------------*/

    .contact-page__grid .contact-form__text-content {
        display: none;
    }
    
    .contact-page__grid {
        display: flex;
        gap: 65px;
        margin-top: 80px;
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 80px;
    }
    
    .contact-page__grid section.section.section--contact-form {
        margin-bottom: 0;
    }
    
    .contact-intro {
        margin-bottom: 40px;
    }
    
    h3.contact-block__title {
        color: var(--Black, #181818);
        font-family: Montserrat;
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        line-height: 27px; /* 135% */
        margin-bottom: 15px;
    }
    
    .contact-block {
        margin-bottom: 20px;
    }
    
    .contact-block__content {
        color: var(--Black, #181818);
    
    /* Desktop/Body S */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 25px; /* 156.25% */
    }
    
    .contact-block.contact-block--email {
        color: var(--Black, #181818);
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }
    
    .contact-block.contact-block--phones {
        color: var(--Black, #181818);
    
    /* Desktop/Body S */
        font-family: Montserrat;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 25px; /* 156.25% */
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .contact-blocks {
        display: flex;
        gap: 27px;
        justify-content: space-between;
    }

    .contact-block.contact-block--email a {
        display: flex;
    }
    
    .contact-block.contact-block--email a span {
        margin-left: 6px;
    }

    @media(max-width:1550px) {
        .contact-blocks {
            flex-direction: column;
        }
        
        .contact-block__content br {
            display: none;
        }
    }

    @media(max-width: 1399px) {
        .contact-page__grid {
            flex-direction: column-reverse;
            max-width: 832px;
        }
        
        .contact-page__grid .contact-form__text-content {
            display: block;
            max-width: 832px;
        }
        
        .contact-page__grid .contact-form__wrapper {
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }
    }

    @media(max-width:767px) {
        .content-area.contact-page-content .container {
            padding: 0;
        }
        
        .contact-intro {
            color: var(--Black, #181818);
        
        /* Body Medium */
            font-family: Montserrat;
            font-size: 16px;
            font-style: normal;
            font-weight: 600;
            line-height: 23px; /* 143.75% */
        }
        
        h3.contact-block__title {
            color: var(--Black, #181818);
        
        /* Subtitle Medium */
            font-family: Montserrat;
            font-size: 18px;
            font-style: normal;
            font-weight: 600;
            line-height: 24px; /* 133.333% */
        }
        
        .contact-block__content {
            color: var(--Black, #181818);
        
        /* Body 2 */
            font-family: Montserrat;
            font-size: 14px;
            font-style: normal;
            font-weight: 500;
            line-height: 19px; /* 135.714% */
        }
        
        .contact-block.contact-block--email {
            color: var(--Black, #181818);
        
        /* Body 2 */
            font-family: Montserrat;
            font-size: 14px;
            font-style: normal;
            font-weight: 500;
            line-height: 19px; /* 135.714% */
        }
        
        .contact-block.contact-block--phones {
            color: var(--Black, #181818);
        
        /* Desktop/Caption */
            font-family: Montserrat;
            font-size: 14px;
            font-style: normal;
            font-weight: 500;
            line-height: 20px; /* 142.857% */
        }
        
        .contact-page__grid {
            margin-top: 40px;
            margin-bottom: 60px;
        }
    }

    /*--------------------------------------------------------------
    # Default Page Template (page.php)
    --------------------------------------------------------------*/


    /*--------------------------------------------------------------
    # 404 Page (404.php)
    --------------------------------------------------------------*/

    section.error-404.not-found h1 {
        color: var(--Main-color, #D01648);
        text-align: center;
        font-family: Montserrat;
        font-size: 417.684px;
        font-style: normal;
        font-weight: 800;
        line-height: 96%; /* 400.977px */
        text-transform: uppercase;
    }

    .error404 p.page-subtitle {
        color: var(--Black, #191919);
        text-align: center;
    
    /* Desktop/H2 */
        font-family: Montserrat;
        font-size: 48px;
        font-style: normal;
        font-weight: 800;
        line-height: 125%; /* 60px */
        text-transform: uppercase;
        margin-bottom: 60px;
    }
    
    section.error-404.not-found {
        max-width: 960px;
        margin: 0 auto;
        display: flex;
        height: calc(100vh - 80px);
        align-items: center;
    }
    
    .error404 .page-content {
        display: flex;
        color: #242424;
        font-family: Montserrat;
        font-size: 32px;
        font-style: normal;
        font-weight: 500;
        line-height: 118%; /* 37.76px */
    }
    
    .error404 .back-to-home a {
        text-decoration: underline;
        color: var(--Main-color, #D01648);
        margin-left: 10px;
    }

    .error404 .site-header {
        display: none;
    }

    @media(max-width:1079px) {
        section.error-404.not-found h1 {
            color: var(--Main-color, #D01648);
            text-align: center;
            font-family: Montserrat;
            font-size: 160px;
            font-style: normal;
            font-weight: 800;
            line-height: 96%; /* 172.8px */
            text-transform: uppercase;
            margin-bottom: 20px;
        }
        
        .error404 p.page-subtitle {
            color: var(--Black, #191919);
            text-align: center;
        
        /* H3 */
            font-family: Montserrat;
            font-size: 24px;
            font-style: normal;
            font-weight: 600;
            line-height: normal;
            margin-bottom: 40px;
        }
        
        .error404 .page-content {
            color: #242424;
            text-align: center;
        
        /* Subtitle */
            font-family: Montserrat;
            font-size: 18px;
            font-style: normal;
            font-weight: 500;
            line-height: 24px; /* 133.333% */
            flex-direction: column;
            gap: 20px;
        }
    }
    /*--------------------------------------------------------------
    # Index Page (index.php)
    --------------------------------------------------------------*/
    .site-header {
        position: fixed;
        width: calc(100% - 40px);
        z-index: 99;
        background: #faf8f2;
        left: 50%;
        transform: translateX(-50%);
        border-color: #DDD;
    }

    .site-header.site-scroll {
        border-color: #D01648;
    }
    
    div#page:before {content: '';width: 100%;height: 80px;position: fixed;top: 0;left: 0;z-index: 98;background: #faf8f2;}
    
    main#primary {
        margin-top: 150px;
		max-width: 1840px;
		margin-left: auto;
		margin-right: auto;
    }

    @media(max-width:1099px) {
        main#primary {
            margin-top: 85px;
        }
        .menu-open .site-header:before {
            content: '';
            width: 100vw;
            height: 100%;
            background: #faf8f2;
            display: block;
            z-index: -1;
            position: absolute;
            left: -20px;
        }
    }

    .stat-item.active {
        border-radius: 30px 5px;
        border: 1px solid var(--Main-color, #D01648);
        background: #FBE8EA;
    }

    .stat-item.active .stat-item__number {
        color: var(--Main-color, #D01648);
    }


    .error404 main#primary {
        margin: 0;
    }

    body.single-service .hero-section__subtitle {
        max-width: 776px;
    }
    
    body.single-service .hero-section__content a {
        max-width: 400px;
    }


header:not(.site-scroll) #header-menu .sub-menu {
    border-color: #dddddd;
}

a.button svg {
    margin-left: 8px;
}

.section--about a svg {
    margin-left: 0;
    transition: all 0.3s;
}

.section--about a svg path {
    transition: all 0.3s;
}

.section--about a:hover svg path {
    fill: #fff;
    stroke: #fff;
    transition: all 0.3s;
}

.ancor {
    position: absolute;
    top: -200px;
    height: 0;
}

section.section.section--contact-form {
    position: relative;
}

.faq-item__answer p, .faq-item__answer ul li {
    margin-bottom: 20px;
}

.faq-item__answer ul {
    padding-left: 22px;
}

.single-service .section__text p span {
    margin-bottom: 20px;
    display: inline-block;
}

.team-card__info svg {
    display: none;
}

section.section.section--stages.section--stages-about.stages-slider-disable {
    margin-bottom: 0;
}

section.section.section--stages.section--stages-about.stages-slider-disable .section--stages-wrap {
    flex-direction: column;
}

section.section.section--stages.section--stages-about.stages-slider-disable .section--stages-wrap * {
    max-width: 100%;
}


.contact-form__form-content .b24-form-wrapper.b24-form-border-bottom {
    border: 0;
    box-shadow: none;
    margin: 0;
	min-height: auto;
}

.contact-form__form-content .b24-form-content.b24-form-padding-side {
    padding: 0;
}

.contact-form__form-content .b24-form-header-padding {
    padding: 0;
}

.contact-form__form-content .b24-form-style-modern .b24-form-control-string .b24-form-control, 
.contact-form__form-content .b24-form-style-modern .b24-form-control-list .b24-form-control, 
.contact-form__form-content .b24-form-style-modern .b24-form-control-text .b24-form-control, 
.contact-form__form-content .b24-form-style-modern .b24-form-control-select .field-item {
    all: unset;
    width: calc(100% - 55px);
    display: flex;
    height: 67px;
    padding: 0 30px;
    border-radius: 30px!important;
    border: 1px solid var(--Stroke, #CCC)!important;
    background: var(--Background, #FAF8F2);
    margin-bottom: 10px;
}

.contact-form__form-content .b24-form-control-alert .b24-form-control-alert-message {
    background: 0;
    color: #d01648;
    left: 0;
    bottom: 0;
}

.contact-form__form-content .b24-form-control-alert .b24-form-control-alert-message:before, 
.contact-form__form-content .b24-form-control-alert .b24-form-control-alert-message:after {
    display: none;
}

.contact-form__form-content .b24-form-sign {
    margin: 0;
    padding-left: 0;
}

.contact-form__form-content button.b24-form-btn {
    /* all: unset; */
    display: flex;
    height: 70px;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: var(--White, #FFF);
    font-family: Montserrat;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    border-radius: 30px;
    background: var(--Main-color, #D01648);
    border: 0;
    margin-top: 10px;
    cursor: pointer;
}

.contact-form__form-content .b24-form-control-alert {
    margin-bottom: 0!important;
}

section.section.section--content-blocks .container {
    display: none;
}

.b24-form-wrapper.b24-form-border-bottom .b24-form-state-container .b24-form-state, .b24-form-wrapper.b24-form-border-bottom .b24-form-state-container .b24-form-loader {background-color: #faf8f2!important;}


.b24-from-state-on .b24-form-state-container {
    width: calc(100% + 20px)!important;
	left: -1px!important;
}