:root {
    --mpf-orange: #f4511e;
    --mpf-orange-dark: #d93d0d;
    --mpf-black: #151719;
    --mpf-graphite: #25292d;
    --mpf-text: #26292d;
    --mpf-muted: #73787e;
    --mpf-light: #f4f5f5;
    --mpf-border: #dfe1e3;
    --mpf-white: #ffffff;
    --mpf-container: 1240px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--mpf-white);
    color: var(--mpf-text);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5;
}

body.menu-open {
    overflow: hidden;
}

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

a {
    color: inherit;
}

.mpf-container {
    width: min(calc(100% - 40px), var(--mpf-container));
    margin: 0 auto;
}

/* Header */

.mpf-header {
    position: sticky;
    top: 0;
    z-index: 1100;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--mpf-border);
    backdrop-filter: blur(12px);
}

.mpf-header-inner {
    min-height: 82px;
    display: flex;
    align-items: center;
    gap: 36px;
}

.mpf-logo {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--mpf-black);
    text-decoration: none;
}

.mpf-logo-mark {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    background: var(--mpf-orange);
    color: var(--mpf-white);
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.mpf-logo-name {
    display: block;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.15;
    text-transform: uppercase;
}

.mpf-logo-slogan {
    display: block;
    margin-top: 4px;
    color: var(--mpf-muted);
    font-size: 11px;
    line-height: 1.2;
}

.mpf-nav {
    margin-left: auto;
}

.mpf-nav-list {
    display: flex;
    align-items: center;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mpf-nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 82px;
    color: var(--mpf-text);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.mpf-nav-link::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background: var(--mpf-orange);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.2s ease;
    content: "";
}

.mpf-nav-link:hover,
.mpf-nav-link.active {
    color: var(--mpf-orange);
}

.mpf-nav-link:hover::after,
.mpf-nav-link.active::after {
    transform: scaleX(1);
}

.mpf-header-actions {
    display: flex;
    align-items: center;
    gap: 18px;
}

.mpf-header-phone {
    color: var(--mpf-black);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.mpf-header-phone:hover {
    color: var(--mpf-orange);
}

.mpf-button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 22px;
    border: 1px solid transparent;
    background: var(--mpf-orange);
    color: var(--mpf-white);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.mpf-button:hover {
    background: var(--mpf-orange-dark);
    color: var(--mpf-white);
    transform: translateY(-1px);
}

.mpf-button-outline {
    border-color: var(--mpf-black);
    background: transparent;
    color: var(--mpf-black);
}

.mpf-button-outline:hover {
    border-color: var(--mpf-black);
    background: var(--mpf-black);
    color: var(--mpf-white);
}

.mpf-menu-button {
    width: 48px;
    height: 48px;
    display: none;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--mpf-border);
    background: var(--mpf-white);
    cursor: pointer;
}

.mpf-menu-button-lines,
.mpf-menu-button-lines::before,
.mpf-menu-button-lines::after {
    width: 22px;
    height: 2px;
    display: block;
    background: var(--mpf-black);
    transition: 0.2s ease;
}

.mpf-menu-button-lines {
    position: relative;
}

.mpf-menu-button-lines::before,
.mpf-menu-button-lines::after {
    position: absolute;
    left: 0;
    content: "";
}

.mpf-menu-button-lines::before {
    top: -7px;
}

.mpf-menu-button-lines::after {
    top: 7px;
}

/* Main */

.mpf-main {
    min-height: 60vh;
}

/* Footer */

.mpf-footer {
    background: var(--mpf-black);
    color: var(--mpf-white);
}

.mpf-footer-top {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr 1.1fr;
    gap: 54px;
    padding: 70px 0 54px;
}

.mpf-footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 22px;
    color: var(--mpf-white);
    text-decoration: none;
}

.mpf-footer-about {
    max-width: 310px;
    margin: 0;
    color: #aeb3b8;
    font-size: 14px;
    line-height: 1.7;
}

.mpf-footer-title {
    margin: 0 0 20px;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
}

.mpf-footer-list {
    display: grid;
    gap: 11px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mpf-footer-list a {
    color: #b6bbc0;
    font-size: 14px;
    text-decoration: none;
}

.mpf-footer-list a:hover {
    color: var(--mpf-orange);
}

.mpf-footer-contact {
    display: grid;
    gap: 13px;
}

.mpf-footer-contact a,
.mpf-footer-contact span {
    color: #b6bbc0;
    font-size: 14px;
    text-decoration: none;
}

.mpf-footer-contact a:hover {
    color: var(--mpf-orange);
}

.mpf-footer-bottom {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: #8e949a;
    font-size: 13px;
}

.mpf-footer-bottom a {
    color: #8e949a;
    text-decoration: none;
}

.mpf-footer-bottom a:hover {
    color: var(--mpf-white);
}

/* Flash messages */

.mpf-flash {
    position: relative;
    z-index: 20;
    padding: 14px 18px;
    border: 1px solid #a7ddba;
    background: #eaf8ef;
    color: #176934;
    font-weight: 700;
}

/* Mobile */

@media (max-width: 1100px) {
    .mpf-header-phone {
        display: none;
    }

    .mpf-nav-list {
        gap: 20px;
    }

    .mpf-footer-top {
        grid-template-columns: 1.3fr 1fr 1fr;
    }

    .mpf-footer-column:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .mpf-header-inner {
        min-height: 72px;
    }

    .mpf-nav {
        position: fixed;
        top: 72px;
        right: 0;
        bottom: 0;
        left: 0;
        visibility: hidden;
        background: var(--mpf-white);
        opacity: 0;
        transform: translateY(-12px);
        transition: 0.2s ease;
    }

    .mpf-nav.open {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
    }

    .mpf-nav-list {
        width: min(calc(100% - 40px), var(--mpf-container));
        display: block;
        margin: 20px auto;
    }

    .mpf-nav-link {
        width: 100%;
        min-height: 58px;
        border-bottom: 1px solid var(--mpf-border);
        font-size: 17px;
    }

    .mpf-nav-link::after {
        display: none;
    }

    .mpf-header-actions {
        margin-left: auto;
    }

    .mpf-header-actions .mpf-button {
        display: none;
    }

    .mpf-menu-button {
        display: inline-flex;
    }

    .mpf-footer-top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px;
        padding-top: 54px;
    }

    .mpf-footer-column:last-child {
        grid-column: auto;
    }
}

@media (max-width: 620px) {
    .mpf-container {
        width: min(calc(100% - 28px), var(--mpf-container));
    }

    .mpf-logo-mark {
        width: 44px;
        height: 44px;
        font-size: 14px;
    }

    .mpf-logo-slogan {
        display: none;
    }

    .mpf-footer-top {
        grid-template-columns: 1fr;
    }

    .mpf-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        padding: 18px 0;
    }
}

/* Homepage */

.mpf-home-hero {
    position: relative;
    min-height: 690px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.98) 0%,
            rgba(255, 255, 255, 0.94) 42%,
            rgba(255, 255, 255, 0.3) 70%,
            rgba(255, 255, 255, 0.1) 100%
        ),
        url('/images/mpf/hero-construction.jpg') center / cover no-repeat;
}

.mpf-home-hero::before {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(31, 35, 39, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31, 35, 39, 0.05) 1px, transparent 1px);
    background-size: 48px 48px;
    content: "";
}

.mpf-home-hero-content {
    position: relative;
    z-index: 2;
    max-width: 760px;
    padding: 90px 0;
}

.mpf-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 22px;
    color: var(--mpf-orange);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.mpf-eyebrow::before {
    width: 38px;
    height: 3px;
    background: var(--mpf-orange);
    content: "";
}

.mpf-home-title {
    max-width: 760px;
    margin: 0;
    color: var(--mpf-black);
    font-size: clamp(44px, 6vw, 78px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 0.99;
}

.mpf-home-title span {
    color: var(--mpf-orange);
}

.mpf-home-lead {
    max-width: 620px;
    margin: 28px 0 0;
    color: #52575d;
    font-size: 18px;
    line-height: 1.75;
}

.mpf-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 36px;
}

.mpf-section {
    padding: 100px 0;
}

.mpf-section-light {
    background: var(--mpf-light);
}

.mpf-section-dark {
    background: var(--mpf-black);
    color: var(--mpf-white);
}

.mpf-section-heading {
    max-width: 760px;
    margin-bottom: 46px;
}

.mpf-section-heading-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 46px;
}

.mpf-section-heading-row .mpf-section-heading {
    margin-bottom: 0;
}

.mpf-section-title {
    margin: 0;
    color: var(--mpf-black);
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.05;
}

.mpf-section-dark .mpf-section-title {
    color: var(--mpf-white);
}

.mpf-section-description {
    max-width: 680px;
    margin: 18px 0 0;
    color: var(--mpf-muted);
    font-size: 17px;
    line-height: 1.7;
}

.mpf-section-dark .mpf-section-description {
    color: #aeb4ba;
}

/* Statistics */

.mpf-stats {
    position: relative;
    z-index: 10;
    margin-top: -54px;
}

.mpf-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: var(--mpf-white);
    border: 1px solid var(--mpf-border);
    box-shadow: 0 18px 55px rgba(18, 21, 24, 0.1);
}

.mpf-stat {
    min-height: 170px;
    padding: 32px;
    border-right: 1px solid var(--mpf-border);
}

.mpf-stat:last-child {
    border-right: 0;
}

.mpf-stat-value {
    display: block;
    margin-bottom: 8px;
    color: var(--mpf-orange);
    font-size: 42px;
    font-weight: 800;
    line-height: 1;
}

.mpf-stat-label {
    color: var(--mpf-black);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
}

/* Services */

.mpf-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.mpf-service-card {
    position: relative;
    min-height: 360px;
    display: flex;
    flex-direction: column;
    padding: 30px;
    overflow: hidden;
    border: 1px solid var(--mpf-border);
    background: var(--mpf-white);
    text-decoration: none;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.mpf-service-card:hover {
    border-color: var(--mpf-orange);
    box-shadow: 0 20px 45px rgba(21, 23, 25, 0.1);
    transform: translateY(-6px);
}

.mpf-service-number {
    margin-bottom: 54px;
    color: var(--mpf-orange);
    font-size: 14px;
    font-weight: 800;
}

.mpf-service-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin-bottom: 26px;
    background: #fff1eb;
    color: var(--mpf-orange);
    font-size: 26px;
    font-weight: 800;
}

.mpf-service-card h3 {
    margin: 0 0 14px;
    color: var(--mpf-black);
    font-size: 24px;
    line-height: 1.2;
}

.mpf-service-card p {
    margin: 0;
    color: var(--mpf-muted);
    line-height: 1.65;
}

.mpf-service-arrow {
    margin-top: auto;
    padding-top: 30px;
    color: var(--mpf-orange);
    font-size: 22px;
    font-weight: 800;
}

/* Projects */

.mpf-project-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
}

.mpf-project-card {
    position: relative;
    min-height: 470px;
    overflow: hidden;
    background: #2b2f33;
    color: var(--mpf-white);
    text-decoration: none;
}

.mpf-project-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.mpf-project-card::after {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(12, 14, 16, 0.04) 20%,
            rgba(12, 14, 16, 0.88) 100%
        );
    content: "";
}

.mpf-project-card:hover img {
    transform: scale(1.045);
}

.mpf-project-content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding: 34px;
}

.mpf-project-category {
    display: inline-flex;
    margin-bottom: 12px;
    color: #ff9a73;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.mpf-project-card h3 {
    margin: 0;
    font-size: 28px;
    line-height: 1.15;
}

.mpf-project-meta {
    margin-top: 12px;
    color: #d1d5d8;
    font-size: 14px;
}

.mpf-project-empty {
    min-height: 300px;
    display: grid;
    place-items: center;
    padding: 40px;
    border: 1px dashed #4d5358;
    color: #9fa5aa;
    text-align: center;
}

/* Workflow */

.mpf-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    counter-reset: mpf-step;
}

.mpf-step {
    position: relative;
    min-height: 260px;
    padding: 34px 30px;
    border-top: 1px solid #474c51;
    border-right: 1px solid #474c51;
    counter-increment: mpf-step;
}

.mpf-step:last-child {
    border-right: 0;
}

.mpf-step::before {
    display: block;
    margin-bottom: 42px;
    color: var(--mpf-orange);
    font-size: 14px;
    font-weight: 800;
    content: "0" counter(mpf-step);
}

.mpf-step h3 {
    margin: 0 0 14px;
    color: var(--mpf-white);
    font-size: 22px;
    line-height: 1.25;
}

.mpf-step p {
    margin: 0;
    color: #aeb4ba;
    font-size: 14px;
    line-height: 1.7;
}

/* CTA */

.mpf-cta {
    position: relative;
    overflow: hidden;
    padding: 86px 0;
    background: var(--mpf-orange);
    color: var(--mpf-white);
}

.mpf-cta::after {
    position: absolute;
    top: -180px;
    right: -100px;
    width: 500px;
    height: 500px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    content: "";
}

.mpf-cta-inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.mpf-cta h2 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.05;
}

.mpf-cta p {
    max-width: 680px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, 0.85);
    font-size: 17px;
    line-height: 1.7;
}

.mpf-cta .mpf-button {
    flex: 0 0 auto;
    border-color: var(--mpf-white);
    background: var(--mpf-white);
    color: var(--mpf-orange);
}

.mpf-cta .mpf-button:hover {
    background: var(--mpf-black);
    border-color: var(--mpf-black);
    color: var(--mpf-white);
}

@media (max-width: 1000px) {
    .mpf-stats-grid,
    .mpf-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mpf-stat:nth-child(2) {
        border-right: 0;
    }

    .mpf-stat:nth-child(-n + 2) {
        border-bottom: 1px solid var(--mpf-border);
    }

    .mpf-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mpf-step:nth-child(2) {
        border-right: 0;
    }

    .mpf-step:nth-child(-n + 2) {
        border-bottom: 1px solid #474c51;
    }

    .mpf-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 720px) {
    .mpf-home-hero {
        min-height: 620px;
        background:
            linear-gradient(
                rgba(255, 255, 255, 0.94),
                rgba(255, 255, 255, 0.94)
            ),
            url('/images/mpf/hero-construction.jpg') center / cover no-repeat;
    }

    .mpf-home-hero-content {
        padding: 70px 0 110px;
    }

    .mpf-home-title {
        font-size: 44px;
    }

    .mpf-home-lead {
        font-size: 16px;
    }

    .mpf-section {
        padding: 74px 0;
    }

    .mpf-section-heading-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .mpf-stats {
        margin-top: -70px;
    }

    .mpf-stats-grid,
    .mpf-service-grid,
    .mpf-project-grid,
    .mpf-steps {
        grid-template-columns: 1fr;
    }

    .mpf-stat {
        border-right: 0;
        border-bottom: 1px solid var(--mpf-border);
    }

    .mpf-stat:last-child {
        border-bottom: 0;
    }

    .mpf-service-card {
        min-height: 320px;
    }

    .mpf-project-card {
        min-height: 390px;
    }

    .mpf-step {
        border-right: 0;
        border-bottom: 1px solid #474c51;
    }

    .mpf-step:last-child {
        border-bottom: 0;
    }

    .mpf-cta {
        padding: 70px 0;
    }
}

/* Services public pages */

.mpf-page-hero {
    position: relative;
    overflow: hidden;
    padding: 105px 0 90px;
    background: var(--mpf-black);
    color: var(--mpf-white);
}

.mpf-page-hero::after {
    position: absolute;
    top: -180px;
    right: -130px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    content: "";
}

.mpf-page-hero-content {
    position: relative;
    z-index: 2;
    max-width: 850px;
}

.mpf-page-hero h1 {
    margin: 0;
    font-size: clamp(46px, 6vw, 76px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 1;
}

.mpf-page-hero p {
    max-width: 700px;
    margin: 24px 0 0;
    color: #bcc1c6;
    font-size: 18px;
    line-height: 1.75;
}

.mpf-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 24px;
    color: #969da4;
    font-size: 13px;
}

.mpf-breadcrumbs a {
    color: #ffffff;
    text-decoration: none;
}

.mpf-breadcrumbs a:hover {
    color: var(--mpf-orange);
}

.mpf-services-page-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.mpf-service-public-card {
    position: relative;
    min-height: 420px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--mpf-border);
    background: var(--mpf-white);
    color: var(--mpf-text);
    text-decoration: none;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.mpf-service-public-card:hover {
    border-color: var(--mpf-orange);
    box-shadow: 0 20px 45px rgba(21, 23, 25, 0.11);
    transform: translateY(-5px);
}

.mpf-service-public-image {
    height: 230px;
    overflow: hidden;
    background: #eceeef;
}

.mpf-service-public-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.mpf-service-public-card:hover img {
    transform: scale(1.045);
}

.mpf-service-public-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: #8c9298;
    font-size: 16px;
}

.mpf-service-public-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 28px;
}

.mpf-service-public-number {
    margin-bottom: 14px;
    color: var(--mpf-orange);
    font-size: 13px;
    font-weight: 800;
}

.mpf-service-public-card h2 {
    margin: 0 0 14px;
    color: var(--mpf-black);
    font-size: 27px;
    line-height: 1.2;
}

.mpf-service-public-card p {
    margin: 0;
    color: var(--mpf-muted);
    line-height: 1.7;
}

.mpf-service-public-link {
    margin-top: auto;
    padding-top: 24px;
    color: var(--mpf-orange);
    font-weight: 800;
}

/* Service detail */

.mpf-service-detail {
    padding: 96px 0;
}

.mpf-service-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 70px;
    align-items: start;
}

.mpf-service-detail-main-image {
    width: 100%;
    max-height: 620px;
    margin-bottom: 42px;
    object-fit: cover;
}

.mpf-service-detail-content {
    color: #555b61;
    font-size: 17px;
    line-height: 1.8;
}

.mpf-service-detail-content h2,
.mpf-service-detail-content h3 {
    color: var(--mpf-black);
}

.mpf-service-detail-content ul {
    padding-left: 22px;
}

.mpf-service-detail-content li {
    margin-bottom: 9px;
}

.mpf-service-sidebar {
    position: sticky;
    top: 110px;
}

.mpf-service-sidebar-card {
    margin-bottom: 24px;
    padding: 30px;
    border: 1px solid var(--mpf-border);
    background: var(--mpf-light);
}

.mpf-service-sidebar-card h2 {
    margin: 0 0 18px;
    color: var(--mpf-black);
    font-size: 24px;
}

.mpf-service-sidebar-card p {
    margin: 0 0 22px;
    color: var(--mpf-muted);
    line-height: 1.7;
}

.mpf-service-features {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mpf-service-features li {
    position: relative;
    padding-left: 26px;
    color: #52585e;
}

.mpf-service-features li::before {
    position: absolute;
    top: 8px;
    left: 0;
    width: 10px;
    height: 10px;
    background: var(--mpf-orange);
    content: "";
}

.mpf-related-services {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.mpf-related-service {
    min-height: 240px;
    display: flex;
    flex-direction: column;
    padding: 26px;
    border: 1px solid var(--mpf-border);
    background: var(--mpf-white);
    text-decoration: none;
    transition: 0.2s ease;
}

.mpf-related-service:hover {
    border-color: var(--mpf-orange);
    transform: translateY(-4px);
}

.mpf-related-service h3 {
    margin: 0 0 12px;
    color: var(--mpf-black);
    font-size: 22px;
}

.mpf-related-service p {
    margin: 0;
    color: var(--mpf-muted);
    line-height: 1.65;
}

.mpf-related-service span {
    margin-top: auto;
    padding-top: 24px;
    color: var(--mpf-orange);
    font-weight: 800;
}

@media (max-width: 900px) {
    .mpf-service-detail-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .mpf-service-sidebar {
        position: static;
    }

    .mpf-related-services {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .mpf-page-hero {
        padding: 78px 0 70px;
    }

    .mpf-services-page-grid {
        grid-template-columns: 1fr;
    }

    .mpf-service-public-card {
        min-height: 390px;
    }

    .mpf-service-detail {
        padding: 70px 0;
    }
}

/* Projects public pages */

.mpf-project-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 40px;
}

.mpf-project-filter {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border: 1px solid var(--mpf-border);
    background: var(--mpf-white);
    color: var(--mpf-text);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: 0.2s ease;
}

.mpf-project-filter:hover,
.mpf-project-filter.active {
    border-color: var(--mpf-orange);
    background: var(--mpf-orange);
    color: var(--mpf-white);
}

.mpf-projects-page-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
}

.mpf-project-page-card {
    position: relative;
    min-height: 470px;
    overflow: hidden;
    background: var(--mpf-graphite);
    color: var(--mpf-white);
    text-decoration: none;
}

.mpf-project-page-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.mpf-project-page-card::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(10, 12, 14, 0.02) 15%,
        rgba(10, 12, 14, 0.9) 100%
    );
    content: "";
}

.mpf-project-page-card:hover img {
    transform: scale(1.05);
}

.mpf-project-page-content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding: 34px;
}

.mpf-project-page-category {
    display: inline-flex;
    margin-bottom: 12px;
    color: #ff9b74;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.mpf-project-page-card h2 {
    margin: 0;
    color: var(--mpf-white);
    font-size: 30px;
    line-height: 1.15;
}

.mpf-project-page-meta {
    margin-top: 14px;
    color: #d1d5d8;
    font-size: 14px;
}

/* Project detail */

.mpf-project-detail {
    padding: 96px 0;
}

.mpf-project-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
    gap: 70px;
    align-items: start;
}

.mpf-project-main-image {
    width: 100%;
    max-height: 700px;
    margin-bottom: 44px;
    object-fit: cover;
}

.mpf-project-description {
    color: #545a60;
    font-size: 17px;
    line-height: 1.85;
}

.mpf-project-description h2,
.mpf-project-description h3 {
    color: var(--mpf-black);
}

.mpf-project-info {
    position: sticky;
    top: 110px;
}

.mpf-project-info-card {
    margin-bottom: 24px;
    padding: 30px;
    border: 1px solid var(--mpf-border);
    background: var(--mpf-light);
}

.mpf-project-info-card h2 {
    margin: 0 0 22px;
    color: var(--mpf-black);
    font-size: 24px;
}

.mpf-project-properties {
    display: grid;
    gap: 0;
    margin: 0;
}

.mpf-project-property {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 16px;
    padding: 15px 0;
    border-bottom: 1px solid var(--mpf-border);
}

.mpf-project-property:last-child {
    border-bottom: 0;
}

.mpf-project-property dt {
    color: var(--mpf-muted);
    font-size: 13px;
}

.mpf-project-property dd {
    margin: 0;
    color: var(--mpf-black);
    font-weight: 700;
}

.mpf-project-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 46px;
}

.mpf-project-gallery img {
    width: 100%;
    height: 330px;
    object-fit: cover;
}

.mpf-other-projects {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.mpf-other-project {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    background: var(--mpf-graphite);
    color: var(--mpf-white);
    text-decoration: none;
}

.mpf-other-project img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mpf-other-project::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 15%,
        rgba(12, 14, 16, 0.9) 100%
    );
    content: "";
}

.mpf-other-project-content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding: 26px;
}

.mpf-other-project h3 {
    margin: 0;
    color: var(--mpf-white);
    font-size: 22px;
}

@media (max-width: 900px) {
    .mpf-project-detail-layout {
        grid-template-columns: 1fr;
        gap: 46px;
    }

    .mpf-project-info {
        position: static;
    }

    .mpf-other-projects {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .mpf-projects-page-grid,
    .mpf-project-gallery {
        grid-template-columns: 1fr;
    }

    .mpf-project-page-card {
        min-height: 390px;
    }

    .mpf-project-detail {
        padding: 70px 0;
    }

    .mpf-project-gallery img {
        height: 260px;
    }

    .mpf-project-property {
        grid-template-columns: 90px 1fr;
    }
}

/* About page */

.mpf-about-hero {
    position: relative;
    min-height: 560px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(20, 22, 24, 0.97) 0%,
            rgba(20, 22, 24, 0.88) 48%,
            rgba(20, 22, 24, 0.3) 100%
        ),
        url('/images/mpf/about-hero.jpg') center / cover no-repeat;
    color: var(--mpf-white);
}

.mpf-about-hero::after {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 50px 50px;
    content: "";
}

.mpf-about-hero-content {
    position: relative;
    z-index: 2;
    max-width: 850px;
    padding: 95px 0;
}

.mpf-about-hero h1 {
    margin: 0;
    font-size: clamp(48px, 6vw, 78px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 1;
}

.mpf-about-hero p {
    max-width: 680px;
    margin: 26px 0 0;
    color: #c4c9cd;
    font-size: 18px;
    line-height: 1.75;
}

.mpf-about-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 80px;
    align-items: start;
}

.mpf-about-intro-title {
    position: sticky;
    top: 115px;
}

.mpf-about-intro-content {
    color: #555b61;
    font-size: 18px;
    line-height: 1.85;
}

.mpf-about-intro-content p {
    margin: 0 0 24px;
}

.mpf-about-highlight {
    margin-top: 34px;
    padding: 28px 30px;
    border-left: 5px solid var(--mpf-orange);
    background: var(--mpf-light);
    color: var(--mpf-black);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.55;
}

/* Expertise */

.mpf-expertise-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--mpf-border);
    border-left: 1px solid var(--mpf-border);
}

.mpf-expertise-card {
    min-height: 290px;
    padding: 32px;
    border-right: 1px solid var(--mpf-border);
    border-bottom: 1px solid var(--mpf-border);
    background: var(--mpf-white);
}

.mpf-expertise-number {
    display: block;
    margin-bottom: 54px;
    color: var(--mpf-orange);
    font-size: 14px;
    font-weight: 800;
}

.mpf-expertise-card h3 {
    margin: 0 0 16px;
    color: var(--mpf-black);
    font-size: 23px;
    line-height: 1.25;
}

.mpf-expertise-card p {
    margin: 0;
    color: var(--mpf-muted);
    font-size: 14px;
    line-height: 1.7;
}

/* Advantages */

.mpf-advantages-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.mpf-advantage-card {
    min-height: 260px;
    display: grid;
    grid-template-columns: 74px 1fr;
    gap: 24px;
    padding: 34px;
    border: 1px solid #40454a;
    background: #202326;
}

.mpf-advantage-icon {
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(244, 81, 30, 0.55);
    color: var(--mpf-orange);
    font-size: 24px;
    font-weight: 800;
}

.mpf-advantage-card h3 {
    margin: 0 0 13px;
    color: var(--mpf-white);
    font-size: 23px;
}

.mpf-advantage-card p {
    margin: 0;
    color: #aeb4b9;
    line-height: 1.7;
}

/* Clients */

.mpf-clients-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.mpf-client-card {
    min-height: 150px;
    display: grid;
    place-items: center;
    padding: 24px;
    border: 1px solid var(--mpf-border);
    background: var(--mpf-white);
    color: var(--mpf-black);
    font-size: 21px;
    font-weight: 800;
    text-align: center;
}

/* About timeline */

.mpf-about-timeline {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    counter-reset: about-step;
}

.mpf-about-timeline-item {
    position: relative;
    min-height: 270px;
    padding: 32px;
    border-top: 1px solid #484d52;
    border-right: 1px solid #484d52;
    counter-increment: about-step;
}

.mpf-about-timeline-item:last-child {
    border-right: 0;
}

.mpf-about-timeline-item::before {
    display: block;
    margin-bottom: 46px;
    color: var(--mpf-orange);
    font-size: 14px;
    font-weight: 800;
    content: "0" counter(about-step);
}

.mpf-about-timeline-item h3 {
    margin: 0 0 14px;
    color: var(--mpf-white);
    font-size: 22px;
}

.mpf-about-timeline-item p {
    margin: 0;
    color: #aeb4ba;
    font-size: 14px;
    line-height: 1.7;
}

@media (max-width: 1000px) {
    .mpf-about-intro-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .mpf-about-intro-title {
        position: static;
    }

    .mpf-expertise-grid,
    .mpf-about-timeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mpf-clients-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mpf-about-timeline-item:nth-child(2) {
        border-right: 0;
    }

    .mpf-about-timeline-item:nth-child(-n + 2) {
        border-bottom: 1px solid #484d52;
    }
}

@media (max-width: 700px) {
    .mpf-about-hero {
        min-height: 520px;
    }

    .mpf-about-hero-content {
        padding: 74px 0;
    }

    .mpf-expertise-grid,
    .mpf-advantages-grid,
    .mpf-clients-grid,
    .mpf-about-timeline {
        grid-template-columns: 1fr;
    }

    .mpf-expertise-card {
        min-height: 240px;
    }

    .mpf-advantage-card {
        grid-template-columns: 1fr;
    }

    .mpf-about-timeline-item {
        border-right: 0;
        border-bottom: 1px solid #484d52;
    }

    .mpf-about-timeline-item:last-child {
        border-bottom: 0;
    }
}

/* Contacts page */

.mpf-contact-hero {
    position: relative;
    overflow: hidden;
    padding: 105px 0 90px;
    background: var(--mpf-black);
    color: var(--mpf-white);
}

.mpf-contact-hero::after {
    position: absolute;
    top: -170px;
    right: -110px;
    width: 500px;
    height: 500px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    content: "";
}

.mpf-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: 70px;
    align-items: start;
}

.mpf-contact-info {
    display: grid;
    gap: 18px;
}

.mpf-contact-card {
    padding: 26px 28px;
    border: 1px solid var(--mpf-border);
    background: var(--mpf-white);
}

.mpf-contact-card-label {
    display: block;
    margin-bottom: 8px;
    color: var(--mpf-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.mpf-contact-card a,
.mpf-contact-card strong {
    color: var(--mpf-black);
    font-size: 21px;
    font-weight: 800;
    text-decoration: none;
}

.mpf-contact-card a:hover {
    color: var(--mpf-orange);
}

.mpf-contact-form-card {
    padding: 38px;
    border: 1px solid var(--mpf-border);
    background: var(--mpf-white);
    box-shadow: 0 18px 48px rgba(18, 21, 24, 0.07);
}

.mpf-contact-form-card h2 {
    margin: 0 0 12px;
    color: var(--mpf-black);
    font-size: 34px;
    line-height: 1.15;
}

.mpf-contact-form-card > p {
    margin: 0 0 28px;
    color: var(--mpf-muted);
    line-height: 1.7;
}

.mpf-contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.mpf-contact-full {
    grid-column: 1 / -1;
}

.mpf-contact-form-card .form-control,
.mpf-contact-form-card .form-select {
    min-height: 50px;
    border-radius: 0;
}

.mpf-contact-form-card textarea.form-control {
    min-height: 145px;
}

.mpf-contact-map {
    min-height: 480px;
    background: #e9ebed;
}

.mpf-contact-map iframe {
    width: 100%;
    height: 480px;
    display: block;
    border: 0;
}

.mpf-contact-map-placeholder {
    min-height: 480px;
    display: grid;
    place-items: center;
    padding: 30px;
    color: #737a80;
    text-align: center;
}

/* FAQ */

.mpf-faq {
    display: grid;
    gap: 14px;
}

.mpf-faq-item {
    border: 1px solid var(--mpf-border);
    background: var(--mpf-white);
}

.mpf-faq-question {
    width: 100%;
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 24px;
    border: 0;
    background: transparent;
    color: var(--mpf-black);
    font-size: 17px;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}

.mpf-faq-symbol {
    color: var(--mpf-orange);
    font-size: 24px;
    line-height: 1;
}

.mpf-faq-answer {
    display: none;
    padding: 0 24px 22px;
    color: var(--mpf-muted);
    line-height: 1.75;
}

.mpf-faq-item.open .mpf-faq-answer {
    display: block;
}

@media (max-width: 900px) {
    .mpf-contact-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

@media (max-width: 700px) {
    .mpf-contact-hero {
        padding: 78px 0 70px;
    }

    .mpf-contact-form-card {
        padding: 24px;
    }

    .mpf-contact-form-grid {
        grid-template-columns: 1fr;
    }

    .mpf-contact-full {
        grid-column: auto;
    }

    .mpf-contact-map,
    .mpf-contact-map iframe,
    .mpf-contact-map-placeholder {
        min-height: 360px;
        height: 360px;
    }
}

/* Legal pages */

.mpf-legal-content {
    max-width: 900px;
    margin: 0 auto;
    color: #555b61;
    font-size: 17px;
    line-height: 1.85;
}

.mpf-legal-content h2 {
    margin: 44px 0 16px;
    color: var(--mpf-black);
    font-size: 27px;
    line-height: 1.25;
}

.mpf-legal-content h2:first-child {
    margin-top: 0;
}

.mpf-legal-content p {
    margin: 0 0 20px;
}

.mpf-legal-content a {
    color: var(--mpf-orange);
    font-weight: 700;
}

/* Error page */

.mpf-error-page {
    min-height: 620px;
    display: flex;
    align-items: center;
    padding: 90px 0;
    background: var(--mpf-light);
}

.mpf-error-page .mpf-container {
    max-width: 800px;
}

.mpf-error-code {
    margin-bottom: 16px;
    color: var(--mpf-orange);
    font-size: clamp(90px, 18vw, 190px);
    font-weight: 800;
    letter-spacing: -0.08em;
    line-height: 0.8;
}

.mpf-error-page h1 {
    margin: 0;
    color: var(--mpf-black);
    font-size: clamp(38px, 6vw, 64px);
    font-weight: 800;
    letter-spacing: -0.04em;
}

.mpf-error-page p {
    max-width: 620px;
    margin: 22px 0 0;
    color: var(--mpf-muted);
    font-size: 18px;
    line-height: 1.7;
}

/* =========================================================
   FINAL HOME PAGE
   ========================================================= */

.home-hero {
    position: relative;
    overflow: hidden;
    background: #f3f3f3;
}

.home-hero::before {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(25, 27, 29, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(25, 27, 29, 0.045) 1px, transparent 1px);
    background-size: 52px 52px;
    content: "";
}

.home-hero-grid {
    position: relative;
    z-index: 2;
    min-height: 650px;
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(430px, 1.05fr);
    align-items: stretch;
}

.home-hero-content {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 84px 70px 90px 0;
}

.home-kicker,
.home-section-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: var(--orange);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.home-kicker::before,
.home-section-label::before {
    width: 38px;
    height: 3px;
    background: var(--orange);
    content: "";
}

.home-hero h1 {
    max-width: 720px;
    margin: 0;
    color: var(--black);
    font-size: clamp(52px, 6vw, 84px);
    font-weight: 800;
    letter-spacing: -0.055em;
    line-height: 0.98;
    text-transform: uppercase;
}

.home-hero h1 span {
    color: var(--orange);
}

.home-hero-text {
    max-width: 640px;
    margin: 30px 0 0;
    color: #52575c;
    font-size: 17px;
    line-height: 1.75;
}

.home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 36px;
}

.home-primary-button,
.home-secondary-button {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 25px;
    border: 1px solid var(--orange);
    background: var(--orange);
    color: var(--white);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-decoration: none;
    text-transform: uppercase;
    transition: 0.2s ease;
}

.home-secondary-button {
    background: transparent;
    color: var(--orange);
}

.home-primary-button:hover,
.home-secondary-button:hover {
    background: var(--orange-dark);
    border-color: var(--orange-dark);
    color: var(--white);
    transform: translateY(-2px);
}

.home-hero-note {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 42px;
    color: #71767b;
    font-size: 13px;
    font-weight: 700;
}

.home-hero-note span {
    width: 7px;
    height: 7px;
    background: var(--orange);
}

.home-hero-visual {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    background: #dfe1e2;
}

.home-image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 230px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    background:
        linear-gradient(135deg, #eeeeef, #d8dadc);
    color: #777d82;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
}

.home-image-placeholder small {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.home-image-placeholder-dark {
    background:
        linear-gradient(135deg, #34383b, #24272a);
    color: #b8bdc1;
}

.home-hero-badge {
    position: absolute;
    right: 0;
    bottom: 0;
    min-width: 230px;
    padding: 24px 28px;
    background: var(--orange);
    color: var(--white);
}

.home-hero-badge strong {
    display: block;
    margin-bottom: 5px;
    font-size: 38px;
    line-height: 1;
}

.home-hero-badge span {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.home-statistics {
    border-bottom: 1px solid var(--line);
    background: var(--white);
}

.home-statistics-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-statistics article {
    min-height: 155px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 28px 34px;
    border-right: 1px solid var(--line);
}

.home-statistics article:last-child {
    border-right: 0;
}

.home-statistics strong {
    margin-bottom: 9px;
    color: var(--orange);
    font-size: 39px;
    line-height: 1;
}

.home-statistics span {
    max-width: 185px;
    color: var(--black);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
    text-transform: uppercase;
}

.home-section {
    padding: 100px 0;
}

.home-section-title {
    margin: 0;
    color: var(--black);
    font-size: clamp(38px, 4.5vw, 60px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 1.05;
    text-transform: uppercase;
}

.home-about-grid {
    display: grid;
    grid-template-columns: minmax(360px, 0.9fr) minmax(0, 1.1fr);
    gap: 85px;
    align-items: center;
}

.home-about-visual {
    position: relative;
    min-height: 570px;
}

.home-image-placeholder-large {
    min-height: 570px;
}

.home-about-accent {
    position: absolute;
    right: -36px;
    bottom: 36px;
    padding: 20px 26px;
    background: var(--orange);
    color: var(--white);
    font-size: 17px;
    font-weight: 800;
    text-transform: uppercase;
}

.home-about-content > p {
    max-width: 650px;
    margin: 24px 0 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.8;
}

.home-about-list {
    display: grid;
    gap: 0;
    margin-top: 34px;
    border-top: 1px solid var(--line);
}

.home-about-list div {
    display: flex;
    align-items: center;
    gap: 20px;
    min-height: 58px;
    border-bottom: 1px solid var(--line);
    color: var(--black);
    font-weight: 700;
}

.home-about-list span {
    color: var(--orange);
    font-size: 12px;
    font-weight: 800;
}

.home-text-link,
.home-light-link {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    margin-top: 32px;
    color: var(--orange);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}

.home-text-link span {
    font-size: 20px;
}

.home-section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 60px;
    margin-bottom: 48px;
}

.home-section-header > p {
    max-width: 470px;
    margin: 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.75;
}

.home-services {
    background: #f5f5f5;
}

.home-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
}

.home-service-card {
    min-height: 470px;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: var(--white);
    color: var(--black);
    text-decoration: none;
    transition: 0.25s ease;
}

.home-service-card:hover {
    position: relative;
    z-index: 2;
    box-shadow: 0 18px 42px rgba(19, 21, 23, 0.12);
    transform: translateY(-5px);
}

.home-service-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 26px;
}

.home-service-number {
    color: var(--orange);
    font-size: 13px;
    font-weight: 800;
}

.home-service-arrow {
    color: var(--orange);
    font-size: 22px;
}

.home-service-image {
    height: 190px;
    overflow: hidden;
}

.home-service-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.home-service-card:hover .home-service-image img {
    transform: scale(1.05);
}

.home-service-content {
    padding: 28px 26px 30px;
}

.home-service-content h3 {
    margin: 0 0 15px;
    font-size: 23px;
    line-height: 1.2;
    text-transform: uppercase;
}

.home-service-content p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
}

.home-center-action {
    display: flex;
    justify-content: center;
    margin-top: 42px;
}

.home-projects {
    background: var(--black);
    color: var(--white);
}

.home-section-header-light .home-section-title {
    color: var(--white);
}

.home-light-link {
    margin-top: 0;
    color: var(--white);
}

.home-light-link:hover {
    color: var(--orange);
}

.home-projects-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.home-project-card {
    position: relative;
    min-height: 470px;
    overflow: hidden;
    background: #2a2d30;
    color: var(--white);
    text-decoration: none;
}

.home-project-image,
.home-project-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home-project-image img {
    object-fit: cover;
    transition: transform 0.5s ease;
}

.home-project-card:hover .home-project-image img {
    transform: scale(1.05);
}

.home-project-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(13, 15, 16, 0.03) 20%,
            rgba(13, 15, 16, 0.92) 100%
        );
}

.home-project-content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding: 34px;
}

.home-project-category {
    display: block;
    margin-bottom: 12px;
    color: #ff9d78;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.home-project-content h3 {
    margin: 0;
    color: var(--white);
    font-size: 29px;
    line-height: 1.15;
    text-transform: uppercase;
}

.home-project-meta {
    margin-top: 13px;
    color: #ccd0d3;
    font-size: 13px;
}

.home-project-link {
    display: inline-flex;
    margin-top: 22px;
    color: var(--white);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.home-process {
    background: var(--white);
}

.home-process-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
}

.home-process-grid article {
    min-height: 270px;
    padding: 30px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.home-process-grid article > span {
    display: block;
    margin-bottom: 50px;
    color: var(--orange);
    font-size: 13px;
    font-weight: 800;
}

.home-process-grid h3 {
    margin: 0 0 14px;
    color: var(--black);
    font-size: 22px;
    line-height: 1.2;
    text-transform: uppercase;
}

.home-process-grid p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
}

.home-empty-state {
    padding: 50px;
    border: 1px dashed #c9cccf;
    color: var(--muted);
    text-align: center;
}

.home-empty-state-dark {
    border-color: #4e5357;
    color: #aeb3b7;
}

@media (max-width: 1050px) {
    .home-hero-grid {
        grid-template-columns: 1fr 0.85fr;
    }

    .home-hero-content {
        padding-right: 42px;
    }

    .home-about-grid {
        gap: 55px;
    }

    .home-services-grid,
    .home-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .home-hero-grid,
    .home-about-grid {
        grid-template-columns: 1fr;
    }

    .home-hero-content {
        padding: 70px 0;
    }

    .home-hero-visual {
        min-height: 440px;
    }

    .home-statistics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-statistics article:nth-child(2) {
        border-right: 0;
    }

    .home-statistics article:nth-child(-n + 2) {
        border-bottom: 1px solid var(--line);
    }

    .home-about-accent {
        right: 20px;
    }

    .home-section-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-projects-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 580px) {
    .home-hero h1 {
        font-size: 43px;
    }

    .home-hero-actions {
        flex-direction: column;
    }

    .home-primary-button,
    .home-secondary-button {
        width: 100%;
    }

    .home-statistics-grid,
    .home-services-grid,
    .home-process-grid {
        grid-template-columns: 1fr;
    }

    .home-statistics article {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .home-section {
        padding: 72px 0;
    }

    .home-about-visual,
    .home-image-placeholder-large {
        min-height: 430px;
    }

    .home-service-card {
        min-height: 420px;
    }

    .home-project-card {
        min-height: 390px;
    }

    .home-process-grid article {
        min-height: 230px;
    }
}

/* Header logo image */
.mpf-header .mpf-logo {
    width: 255px;
    flex: 0 0 255px;
    display: flex;
    align-items: center;
}

.mpf-header .mpf-logo-image {
    width: 240px;
    height: 82px;
    display: block;
    object-fit: contain;
    object-position: left center;
}

@media (max-width: 900px) {
    .mpf-header .mpf-logo {
        width: 190px;
        flex-basis: 190px;
    }

    .mpf-header .mpf-logo-image {
        width: 185px;
        height: 68px;
    }
}

@media (max-width: 560px) {
    .mpf-header .mpf-logo {
        width: 165px;
        flex-basis: 165px;
    }

    .mpf-header .mpf-logo-image {
        width: 160px;
        height: 62px;
    }
}

/* ===== Final MPF header logo ===== */

.mpf-header .mpf-logo--header {
    width: 270px !important;
    height: 76px !important;
    flex: 0 0 270px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    overflow: visible !important;
    text-decoration: none !important;
}

.mpf-header .mpf-logo-symbol {
    position: relative;
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    display: block;
    overflow: hidden;
    background: #fff;
}

.mpf-header .mpf-logo-symbol img {
    position: absolute !important;
    top: -12px !important;
    left: -44px !important;
    width: 160px !important;
    height: 160px !important;
    max-width: none !important;
    object-fit: contain !important;
}

.mpf-header .mpf-logo-copy {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    line-height: 1;
}

.mpf-header .mpf-logo-title {
    display: block;
    color: #151719;
    font-size: 30px;
    font-weight: 900;
    letter-spacing: 0.01em;
    line-height: 0.9;
}

.mpf-header .mpf-logo-company {
    display: block;
    margin-top: 5px;
    color: #151719;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.1;
    text-transform: uppercase;
    white-space: nowrap;
}

.mpf-header .mpf-logo-tagline {
    display: block;
    margin-top: 5px;
    color: #f4511e;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.15;
    text-transform: uppercase;
}

/* Прибираємо старі правила зображення */
.mpf-header .mpf-logo-image {
    display: none !important;
}

@media (max-width: 1100px) {
    .mpf-header .mpf-logo--header {
        width: 225px !important;
        flex-basis: 225px !important;
    }

    .mpf-header .mpf-logo-symbol {
        width: 62px;
        height: 62px;
        flex-basis: 62px;
    }

    .mpf-header .mpf-logo-symbol img {
        top: -10px !important;
        left: -38px !important;
        width: 140px !important;
        height: 140px !important;
    }

    .mpf-header .mpf-logo-title {
        font-size: 25px;
    }

    .mpf-header .mpf-logo-company {
        font-size: 9px;
    }

    .mpf-header .mpf-logo-tagline {
        font-size: 8px;
    }
}

@media (max-width: 700px) {
    .mpf-header .mpf-logo--header {
        width: 205px !important;
        height: 66px !important;
        flex-basis: 205px !important;
        gap: 9px !important;
    }

    .mpf-header .mpf-logo-symbol {
        width: 56px;
        height: 56px;
        flex-basis: 56px;
    }

    .mpf-header .mpf-logo-symbol img {
        top: -8px !important;
        left: -33px !important;
        width: 124px !important;
        height: 124px !important;
    }

    .mpf-header .mpf-logo-title {
        font-size: 22px;
    }
}

/* Корекція логотипа у шапці */
.mpf-header-inner {
    min-height: 100px !important;
}

.mpf-header .mpf-logo--header {
    width: 260px !important;
    height: 74px !important;
    flex: 0 0 260px !important;
    align-items: center !important;
    gap: 14px !important;
}

.mpf-header .mpf-logo-symbol {
    width: 58px !important;
    height: 58px !important;
    flex: 0 0 58px !important;
}

.mpf-header .mpf-logo-symbol img {
    width: 58px !important;
    height: 58px !important;
    object-fit: contain !important;
    display: block !important;
}

.mpf-header .mpf-logo-copy {
    justify-content: center !important;
}

.mpf-header .mpf-logo-title {
    font-size: 31px !important;
    line-height: 0.9 !important;
}

.mpf-header .mpf-logo-company {
    margin-top: 6px !important;
    font-size: 10px !important;
}

.mpf-header .mpf-logo-tagline {
    margin-top: 6px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
}

@media (max-width: 700px) {
    .mpf-header-inner {
        min-height: 82px !important;
    }

    .mpf-header .mpf-logo--header {
        width: 220px !important;
        height: 72px !important;
        flex-basis: 220px !important;
    }

    .mpf-header .mpf-logo-symbol {
        width: 62px !important;
        height: 62px !important;
        flex-basis: 62px !important;
    }

    .mpf-header .mpf-logo-symbol img {
        top: -11px !important;
        left: -37px !important;
        width: 136px !important;
        height: 136px !important;
    }

    .mpf-header .mpf-logo-title {
        font-size: 24px !important;
    }

    .mpf-header .mpf-logo-company,
    .mpf-header .mpf-logo-tagline {
        font-size: 8px !important;
    }
}

/* Фінальне вирівнювання логотипа */
.mpf-header .mpf-logo--header {
    gap: 10px !important;
}

.mpf-header .mpf-logo-symbol {
    transform: translateY(-3px);
}

.mpf-header .mpf-logo-tagline {
    font-size: 11px !important;
    line-height: 1.1 !important;
}


/* Hero title */
.fh-hero__copy h1{
    font-size: clamp(56px, 5vw, 72px) !important;
    line-height: .95 !important;
    letter-spacing: -0.03em !important;
}

.fh-hero__copy h1 span{
    color:#f4511e;
}


/* Зменшений Hero */
.fh-hero__copy h1{
    font-size: 38px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
    max-width: 620px !important;
}

.fh-hero__copy h1 span{
    color:#f4511e !important;
}



/* ===== Фінальна типографіка сторінки послуги ===== */

.mpf-service-detail-content {
    padding: 42px 48px 52px !important;
    color: #535b61 !important;
}

.mpf-service-rich-text {
    max-width: 850px !important;
}

.mpf-service-rich-text p {
    margin: 0 0 26px !important;
    color: #535b61 !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
}

.mpf-service-rich-text > p:first-child {
    color: #24282c !important;
    font-size: 19px !important;
    line-height: 1.8 !important;
}

.mpf-service-rich-text h2 {
    position: relative !important;
    margin: 48px 0 24px !important;
    padding-left: 22px !important;
    color: #17191b !important;
    font-size: 31px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.025em !important;
}

.mpf-service-rich-text h2::before {
    position: absolute !important;
    top: 3px !important;
    bottom: 3px !important;
    left: 0 !important;
    width: 5px !important;
    background: #f4511e !important;
    content: "" !important;
}

.mpf-service-rich-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 26px !important;
    margin: 0 0 42px !important;
    padding: 0 !important;
    list-style: none !important;
}

.mpf-service-rich-list li {
    position: relative !important;
    margin: 0 !important;
    padding: 10px 12px 10px 30px !important;
    border-bottom: 1px solid #eceeef !important;
    color: #353b40 !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

.mpf-service-rich-list li::before {
    position: absolute !important;
    top: 18px !important;
    left: 7px !important;
    width: 8px !important;
    height: 8px !important;
    background: #f4511e !important;
    transform: rotate(45deg) !important;
    content: "" !important;
}

.mpf-service-rich-accent {
    margin-top: 48px !important;
    padding: 28px 34px !important;
    border-left: 5px solid #f4511e !important;
    background: #17191b !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 650 !important;
    line-height: 1.65 !important;
    box-shadow: 0 15px 34px rgba(20, 24, 28, 0.14) !important;
}

@media (max-width: 700px) {
    .mpf-service-detail-content {
        padding: 30px 22px 38px !important;
    }

    .mpf-service-rich-text h2 {
        font-size: 25px !important;
    }

    .mpf-service-rich-list {
        grid-template-columns: 1fr !important;
    }

    .mpf-service-rich-text p {
        font-size: 16px !important;
    }
}

/* ===== Фінальний компактний CTA на сторінках послуг ===== */

section.mpf-cta {
    min-height: 0 !important;
    padding: 44px 0 !important;
}

section.mpf-cta .mpf-cta-inner {
    min-height: 150px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 60px !important;
}

section.mpf-cta .mpf-cta-inner > div {
    flex: 1 1 auto !important;
}

section.mpf-cta h2 {
    margin: 0 0 12px !important;
    font-size: clamp(42px, 4vw, 62px) !important;
    line-height: 1 !important;
    letter-spacing: -0.035em !important;
}

section.mpf-cta p {
    max-width: 760px !important;
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
}

section.mpf-cta a.mpf-button {
    width: auto !important;
    min-width: 410px !important;
    min-height: 92px !important;
    padding: 24px 58px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 auto !important;

    background: #ffffff !important;
    color: #f4511e !important;
    border: 2px solid #ffffff !important;
    border-radius: 0 !important;

    font-size: 21px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    white-space: nowrap !important;

    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.16) !important;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background-color .25s ease,
        color .25s ease !important;
}

section.mpf-cta a.mpf-button:hover {
    background: #17191b !important;
    color: #ffffff !important;
    border-color: #17191b !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.24) !important;
}

@media (max-width: 900px) {
    section.mpf-cta {
        padding: 42px 0 !important;
    }

    section.mpf-cta .mpf-cta-inner {
        min-height: 0 !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 30px !important;
    }

    section.mpf-cta a.mpf-button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 76px !important;
    }
}


/* =========================================
   Сторінка всіх послуг — картки
   ========================================= */

.mpf-services-page-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px !important;
    align-items: stretch !important;
}

.mpf-service-public-card {
    position: relative !important;
    overflow: hidden !important;

    display: flex !important;
    flex-direction: column !important;

    min-height: 540px !important;

    border: 1px solid #e0e3e5 !important;
    background: #ffffff !important;
    color: #17191b !important;
    text-decoration: none !important;

    box-shadow: 0 10px 28px rgba(20, 24, 28, 0.06) !important;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease !important;
}

/* Помаранчева лінія */
.mpf-service-public-card::before {
    position: absolute !important;
    z-index: 5 !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;

    height: 5px !important;

    background: #f4511e !important;
    transform: scaleX(0) !important;
    transform-origin: left center !important;

    transition: transform .3s ease !important;

    content: "" !important;
}

/* Фото */
.mpf-service-public-image {
    position: relative !important;
    overflow: hidden !important;
    height: 290px !important;
    flex: 0 0 290px !important;
    background: #dfe3e5 !important;
}

.mpf-service-public-image::after {
    position: absolute !important;
    inset: 0 !important;

    background:
        linear-gradient(
            180deg,
            transparent 60%,
            rgba(0, 0, 0, .16) 100%
        ) !important;

    pointer-events: none !important;
    content: "" !important;
}

.mpf-service-public-image img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;

    object-fit: cover !important;
    object-position: center !important;

    transition:
        transform .55s ease,
        filter .55s ease !important;
}

/* Контент */
.mpf-service-public-content {
    position: relative !important;
    flex: 1 1 auto !important;

    display: flex !important;
    flex-direction: column !important;

    padding: 34px 36px 32px !important;
}

/* Великий декоративний номер */
.mpf-service-public-number {
    position: absolute !important;
    top: 18px !important;
    right: 24px !important;

    color: rgba(23, 25, 27, .07) !important;
    font-size: 72px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -.06em !important;

    transition:
        color .3s ease,
        transform .3s ease !important;
}

/* Заголовок */
.mpf-service-public-content h2 {
    position: relative !important;
    z-index: 2 !important;

    max-width: 78% !important;
    margin: 18px 0 18px !important;

    color: #17191b !important;
    font-size: 31px !important;
    font-weight: 700 !important;
    line-height: 1.16 !important;
    letter-spacing: -.025em !important;
}

/* Опис */
.mpf-service-public-content p {
    position: relative !important;
    z-index: 2 !important;

    margin: 0 0 26px !important;

    color: #687076 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* Посилання */
.mpf-service-public-link {
    position: relative !important;
    z-index: 2 !important;

    display: inline-flex !important;
    align-items: center !important;

    margin-top: auto !important;
    padding-top: 20px !important;

    color: #f4511e !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;

    transition:
        transform .25s ease,
        color .25s ease !important;
}

/* Hover */
.mpf-service-public-card:hover {
    border-color: rgba(244, 81, 30, .35) !important;
    box-shadow: 0 24px 50px rgba(20, 24, 28, .16) !important;
    transform: translateY(-8px) !important;
}

.mpf-service-public-card:hover::before {
    transform: scaleX(1) !important;
}

.mpf-service-public-card:hover .mpf-service-public-image img {
    transform: scale(1.055) !important;
    filter: saturate(1.08) contrast(1.03) !important;
}

.mpf-service-public-card:hover .mpf-service-public-number {
    color: rgba(244, 81, 30, .18) !important;
    transform: scale(1.08) !important;
}

.mpf-service-public-card:hover .mpf-service-public-link {
    color: #17191b !important;
    transform: translateX(5px) !important;
}

/* Планшет */
@media (max-width: 950px) {
    .mpf-services-page-grid {
        grid-template-columns: 1fr !important;
    }

    .mpf-service-public-card {
        min-height: 500px !important;
    }
}

/* Телефон */
@media (max-width: 620px) {
    .mpf-services-page-grid {
        gap: 18px !important;
    }

    .mpf-service-public-card {
        min-height: 440px !important;
    }

    .mpf-service-public-image {
        height: 230px !important;
        flex-basis: 230px !important;
    }

    .mpf-service-public-content {
        padding: 28px 24px 26px !important;
    }

    .mpf-service-public-number {
        font-size: 56px !important;
    }

    .mpf-service-public-content h2 {
        max-width: 82% !important;
        font-size: 25px !important;
    }

    .mpf-service-public-content p {
        font-size: 15px !important;
    }
}


/* ===========================================
   Hero "Послуги"
   =========================================== */

.mpf-page-hero{
    position:relative;
    overflow:hidden;
    background:#17191b;
}

.mpf-page-hero::after{

    content:"";

    position:absolute;

    top:0;
    right:-120px;

    width:900px;
    height:100%;

    background:url('/images/mpf/hero-building.png')
               right center / contain no-repeat;

    opacity:.14;

    pointer-events:none;

    mix-blend-mode:screen;

}

/* легке затемнення */

.mpf-page-hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            90deg,
            #17191b 0%,
            rgba(23,25,27,.96) 48%,
            rgba(23,25,27,.65) 100%
        );

    z-index:0;

}

.mpf-page-hero-content{

    position:relative;
    z-index:2;

}




/* ===========================================

   Hero "Послуги"

   =========================================== */



.mpf-page-hero{

    position:relative;

    overflow:hidden;

    background:#17191b;

}



.mpf-page-hero::after{



    content:"";



    position:absolute;



    top:0;

    right:-120px;



    width:900px;

    height:100%;



    background:url('/images/mpf/hero-building1.png') 

               right center / contain no-repeat;



    opacity:.14;



    pointer-events:none;



    mix-blend-mode:screen;



}



/* легке затемнення */



.mpf-page-hero::before{



    content:"";



    position:absolute;



    inset:0;



    background:

        linear-gradient(

            90deg,

            #17191b 0%,

            rgba(23,25,27,.96) 48%,

            rgba(23,25,27,.65) 100%

        );



    z-index:0;



}



.mpf-page-hero-content{



    position:relative;

    z-index:2;



}






/* ===========================================

   Hero "Послуги"

   =========================================== */



.mpf-page-hero{

    position:relative;

    overflow:hidden;

    background:#17191b;

}



.mpf-page-hero::after{



    content:"";



    position:absolute;



    top:0;

    right:-120px;



    width:900px;

    height:100%;



    background:url('/images/mpf/hero-building1.png') 

               right center / contain no-repeat;



    opacity:.14;



    pointer-events:none;



    mix-blend-mode:screen;



}



/* легке затемнення */



.mpf-page-hero::before{



    content:"";



    position:absolute;



    inset:0;



    background:

        linear-gradient(

            90deg,

            #17191b 0%,

            rgba(23,25,27,.96) 48%,

            rgba(23,25,27,.65) 100%

        );



    z-index:0;



}



.mpf-page-hero-content{



    position:relative;

    z-index:2;



}






/* ABOUT HERO */



.mpf-page-hero{

    position:relative;

    overflow:hidden;

}



.mpf-page-hero::after{



    content:"";



    position:absolute;

    top:-40px;

    right:-20px;



    width:1200px;

    height:115%;



    background:url('/images/mpf/hero-building1.png') right center / contain no-repeat; 



    opacity:.30;



    filter:

        brightness(2)

        contrast(1.2)

        drop-shadow(0 0 18px rgba(255,255,255,.08));



    mix-blend-mode:screen;



    pointer-events:none;



    z-index:0;



}



.mpf-page-hero::before{



    content:"";



    position:absolute;

    inset:0;



    background:

        linear-gradient(

            90deg,

            rgba(23,25,27,.98) 0%,

            rgba(23,25,27,.95) 45%,

            rgba(23,25,27,.70) 100%

        );



    z-index:1;



}



.mpf-page-hero .mpf-container,

.mpf-page-hero-content{



    position:relative;

    z-index:2;



}




/* Логотип у футері */

.mpf-footer-logo-image{

    width:72px;
    height:72px;

    object-fit:contain;

    display:block;

    flex-shrink:0;

}

.mpf-footer-logo{

    display:flex;
    align-items:center;
    gap:18px;

}


/* Логотип у футері */

.mpf-footer-logo-image{
    width:74px;
    height:74px;
    display:block;
    object-fit:contain;
    flex-shrink:0;
}


/* ==================================================
   ОНОВЛЕНИЙ ДИЗАЙН СТОРІНКИ КОНТАКТІВ
   ================================================== */

/* ---------- Hero ---------- */

.mpf-contact-hero {
    position: relative !important;
    overflow: hidden !important;
    min-height: 340px !important;
    padding: 74px 0 70px !important;
    background: #151719 !important;
}

.mpf-contact-hero::before {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;

    background:
        linear-gradient(
            90deg,
            rgba(21, 23, 25, 1) 0%,
            rgba(21, 23, 25, .96) 48%,
            rgba(21, 23, 25, .62) 100%
        ) !important;

    content: "" !important;
}

.mpf-contact-hero::after {
    position: absolute !important;
    top: -60px !important;
    right: -40px !important;
    z-index: 0 !important;

    width: 1050px !important;
    height: 125% !important;

    background:
        url('/images/mpf/hero-building.png?v=3')
        right center / contain no-repeat !important;

    opacity: .24 !important;
    filter:
        brightness(2)
        contrast(1.15)
        drop-shadow(0 0 22px rgba(255, 255, 255, .08)) !important;

    mix-blend-mode: screen !important;
    pointer-events: none !important;
    content: "" !important;
}

.mpf-contact-hero .mpf-container,
.mpf-contact-hero .mpf-page-hero-content {
    position: relative !important;
    z-index: 2 !important;
}

.mpf-contact-hero .mpf-page-hero-content {
    max-width: 820px !important;
}

.mpf-contact-hero h1 {
    max-width: 760px !important;
    margin: 24px 0 18px !important;

    color: #fff !important;
    font-size: clamp(48px, 5vw, 76px) !important;
    font-weight: 800 !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
}

.mpf-contact-hero p {
    max-width: 760px !important;
    margin: 0 !important;

    color: rgba(255, 255, 255, .74) !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
}

/* ---------- Основна секція ---------- */

.mpf-contact-layout {
    display: grid !important;
    grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.28fr) !important;
    align-items: start !important;
    gap: 36px !important;
}

.mpf-contact-info {
    display: grid !important;
    gap: 18px !important;
}

/* ---------- Контактні картки ---------- */

.mpf-contact-card {
    position: relative !important;
    overflow: hidden !important;

    min-height: 125px !important;
    padding: 28px 30px 26px 38px !important;

    border: 1px solid #e0e3e5 !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(20, 24, 28, .055) !important;

    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease !important;
}

.mpf-contact-card::before {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 5px !important;
    background: #f4511e !important;

    transform: scaleY(.36) !important;
    transform-origin: center !important;
    transition: transform .25s ease !important;

    content: "" !important;
}

.mpf-contact-card::after {
    position: absolute !important;
    top: 22px !important;
    right: 24px !important;

    color: rgba(23, 25, 27, .045) !important;
    font-size: 54px !important;
    font-weight: 900 !important;
    line-height: 1 !important;

    content: "•" !important;
}

.mpf-contact-card:hover {
    border-color: rgba(244, 81, 30, .35) !important;
    box-shadow: 0 20px 42px rgba(20, 24, 28, .11) !important;
    transform: translateY(-5px) !important;
}

.mpf-contact-card:hover::before {
    transform: scaleY(1) !important;
}

.mpf-contact-card-label {
    display: block !important;
    margin-bottom: 12px !important;

    color: #f4511e !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
}

.mpf-contact-card a,
.mpf-contact-card strong {
    position: relative !important;
    z-index: 2 !important;

    color: #17191b !important;
    font-size: 22px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

.mpf-contact-card a {
    transition: color .2s ease !important;
}

.mpf-contact-card a:hover {
    color: #f4511e !important;
}

/* ---------- Форма ---------- */

.mpf-contact-form-card {
    position: relative !important;
    overflow: hidden !important;

    padding: 46px 48px 50px !important;

    border: 1px solid #dde1e3 !important;
    background: #fff !important;
    box-shadow: 0 20px 55px rgba(20, 24, 28, .1) !important;
}

.mpf-contact-form-card::before {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;

    height: 6px !important;
    background: #f4511e !important;

    content: "" !important;
}

.mpf-contact-form-card::after {
    position: absolute !important;
    top: -110px !important;
    right: -110px !important;

    width: 260px !important;
    height: 260px !important;

    border: 1px solid rgba(244, 81, 30, .1) !important;
    border-radius: 50% !important;

    pointer-events: none !important;
    content: "" !important;
}

.mpf-contact-form-card h2 {
    position: relative !important;
    z-index: 2 !important;

    margin: 0 0 14px !important;
    color: #17191b !important;

    font-size: 40px !important;
    font-weight: 780 !important;
    line-height: 1.1 !important;
    letter-spacing: -.035em !important;
}

.mpf-contact-form-card > p {
    position: relative !important;
    z-index: 2 !important;

    max-width: 620px !important;
    margin: 0 0 34px !important;

    color: #6b7379 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.mpf-contact-form-grid {
    position: relative !important;
    z-index: 2 !important;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 18px !important;
}

.mpf-contact-full {
    grid-column: 1 / -1 !important;
}

/* ---------- Поля форми ---------- */

.mpf-contact-form-card .form-group {
    margin: 0 !important;
}

.mpf-contact-form-card label {
    display: block !important;
    margin-bottom: 9px !important;

    color: #262b2f !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.mpf-contact-form-card input[type="text"],
.mpf-contact-form-card input[type="email"],
.mpf-contact-form-card input[type="tel"],
.mpf-contact-form-card select,
.mpf-contact-form-card textarea {
    width: 100% !important;

    border: 1px solid #d8dde0 !important;
    border-radius: 0 !important;
    outline: none !important;

    background: #fafbfb !important;
    color: #24282c !important;

    font-family: inherit !important;
    font-size: 15px !important;

    transition:
        border-color .2s ease,
        background-color .2s ease,
        box-shadow .2s ease !important;
}

.mpf-contact-form-card input[type="text"],
.mpf-contact-form-card input[type="email"],
.mpf-contact-form-card input[type="tel"],
.mpf-contact-form-card select {
    height: 56px !important;
    padding: 0 16px !important;
}

.mpf-contact-form-card textarea {
    min-height: 150px !important;
    padding: 15px 16px !important;
    resize: vertical !important;
    line-height: 1.6 !important;
}

.mpf-contact-form-card input:focus,
.mpf-contact-form-card select:focus,
.mpf-contact-form-card textarea:focus {
    border-color: #f4511e !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(244, 81, 30, .1) !important;
}

.mpf-contact-form-card input::placeholder,
.mpf-contact-form-card textarea::placeholder {
    color: #989fa4 !important;
}

/* Checkbox */

.mpf-contact-form-card .checkbox {
    margin: 2px 0 0 !important;
}

.mpf-contact-form-card .checkbox label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;

    margin: 0 !important;
    color: #5d656b !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
}

.mpf-contact-form-card input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin: 1px 0 0 !important;
    accent-color: #f4511e !important;
}

/* Помилки */

.mpf-contact-form-card .help-block {
    margin: 7px 0 0 !important;
    color: #c9341b !important;
    font-size: 12px !important;
}

/* ---------- Кнопка ---------- */

.mpf-contact-form-card button.mpf-button {
    width: 100% !important;
    min-height: 64px !important;
    margin-top: 4px !important;
    padding: 18px 32px !important;

    border: 2px solid #f4511e !important;
    border-radius: 0 !important;

    background: #f4511e !important;
    color: #fff !important;

    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;

    box-shadow: 0 12px 26px rgba(244, 81, 30, .2) !important;

    transition:
        background-color .22s ease,
        border-color .22s ease,
        transform .22s ease,
        box-shadow .22s ease !important;
}

.mpf-contact-form-card button.mpf-button:hover {
    border-color: #17191b !important;
    background: #17191b !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 18px 34px rgba(20, 24, 28, .2) !important;
}

/* ---------- Карта ---------- */

.mpf-contact-map {
    position: relative !important;
    overflow: hidden !important;
    min-height: 430px !important;
    border-top: 6px solid #f4511e !important;
    background: #e8eaeb !important;
}

.mpf-contact-map iframe {
    width: 100% !important;
    height: 480px !important;
    display: block !important;
    border: 0 !important;
    filter: grayscale(.28) contrast(1.04) !important;
}

/* ---------- Адаптивність ---------- */

@media (max-width: 1050px) {
    .mpf-contact-layout {
        grid-template-columns: 1fr !important;
    }

    .mpf-contact-info {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .mpf-contact-hero {
        min-height: 290px !important;
        padding: 58px 0 54px !important;
    }

    .mpf-contact-hero::after {
        right: -290px !important;
        width: 780px !important;
        opacity: .15 !important;
    }

    .mpf-contact-hero h1 {
        font-size: 44px !important;
    }

    .mpf-contact-hero p {
        font-size: 16px !important;
    }

    .mpf-contact-info {
        grid-template-columns: 1fr !important;
    }

    .mpf-contact-form-card {
        padding: 36px 24px 38px !important;
    }

    .mpf-contact-form-card h2 {
        font-size: 32px !important;
    }

    .mpf-contact-form-grid {
        grid-template-columns: 1fr !important;
    }

    .mpf-contact-full {
        grid-column: auto !important;
    }

    .mpf-contact-card {
        min-height: 110px !important;
        padding: 25px 24px 23px 32px !important;
    }

    .mpf-contact-card a,
    .mpf-contact-card strong {
        font-size: 19px !important;
    }
}


/* ==================================================
   Повернення початкового Contact Hero
   ================================================== */

.mpf-contact-hero {
    position: relative !important;
    overflow: hidden !important;
    min-height: 300px !important;
    padding: 66px 0 62px !important;
    background: #151719 !important;
}

/* Прибираємо креслення будівлі */
.mpf-contact-hero::after {
    display: none !important;
    content: none !important;
}

/* Повертаємо простий темний фон */
.mpf-contact-hero::before {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;

    display: block !important;

    background:
        radial-gradient(
            circle at 106% 12%,
            transparent 0,
            transparent 185px,
            rgba(255,255,255,.10) 186px,
            rgba(255,255,255,.10) 187px,
            transparent 188px
        ),
        #151719 !important;

    content: "" !important;
}

.mpf-contact-hero .mpf-container,
.mpf-contact-hero .mpf-page-hero-content {
    position: relative !important;
    z-index: 2 !important;
}

.mpf-contact-hero .mpf-page-hero-content {
    max-width: 820px !important;
}

.mpf-contact-hero h1 {
    max-width: 760px !important;
    margin: 20px 0 14px !important;

    color: #ffffff !important;
    font-size: clamp(42px, 4.2vw, 64px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
}

.mpf-contact-hero p {
    max-width: 760px !important;
    margin: 0 !important;

    color: rgba(255,255,255,.74) !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
}

@media (max-width: 700px) {
    .mpf-contact-hero {
        min-height: 270px !important;
        padding: 52px 0 48px !important;
    }

    .mpf-contact-hero h1 {
        font-size: 42px !important;
    }

    .mpf-contact-hero p {
        font-size: 16px !important;
    }
}

/* ===== MPF PROJECT SLIDER V2 START ===== */

/* Покращений опис проєкту */

.mpf-project-description {
    max-width: 860px !important;
    margin: 42px 0 56px !important;
    padding: 40px 44px !important;
    border: 1px solid #e2e5e7 !important;
    border-left: 5px solid #f4511e !important;
    background: #ffffff !important;
    box-shadow: 0 16px 42px rgba(20, 24, 28, .07) !important;
}

.mpf-project-description h2 {
    position: relative !important;
    margin: 44px 0 20px !important;
    color: #17191b !important;
    font-size: 31px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -.025em !important;
}

.mpf-project-description h2:first-child {
    margin-top: 0 !important;
}

.mpf-project-description p {
    margin: 0 0 22px !important;
    color: #555e64 !important;
    font-size: 17px !important;
    line-height: 1.85 !important;
}

.mpf-project-description p:last-child {
    margin-bottom: 0 !important;
}

.mpf-project-work-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 24px !important;
    margin: 22px 0 34px !important;
    padding: 0 !important;
    list-style: none !important;
}

.mpf-project-work-list li {
    position: relative !important;
    padding: 14px 14px 14px 38px !important;
    border-bottom: 1px solid #eceeef !important;
    color: #30363a !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
}

.mpf-project-work-list li::before {
    position: absolute !important;
    top: 18px !important;
    left: 12px !important;
    width: 10px !important;
    height: 10px !important;
    background: #f4511e !important;
    transform: rotate(45deg) !important;
    content: "" !important;
}

/* Галерея */

.mpf-project-gallery-slider {
    max-width: 980px !important;
    margin: 62px 0 20px !important;
}

.mpf-project-gallery-heading {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    gap: 30px !important;
    margin-bottom: 25px !important;
}

.mpf-project-gallery-heading h2 {
    max-width: 650px !important;
    margin: 10px 0 0 !important;
    color: #17191b !important;
    font-size: clamp(30px, 3vw, 44px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
}

.mpf-project-gallery-counter {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    color: #858c91 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.mpf-project-gallery-counter [data-gallery-current] {
    color: #f4511e !important;
    font-size: 38px !important;
    font-weight: 850 !important;
}

.mpf-project-gallery-stage {
    position: relative !important;
    overflow: hidden !important;
    background: #17191b !important;
    box-shadow: 0 22px 55px rgba(20, 24, 28, .18) !important;
}

.mpf-project-gallery-slides {
    position: relative !important;
    min-height: 580px !important;
}

.mpf-project-gallery-slide {
    position: absolute !important;
    inset: 0 !important;
    margin: 0 !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transform: scale(1.015) !important;
    transition:
        opacity .42s ease,
        transform .55s ease,
        visibility .42s ease !important;
}

.mpf-project-gallery-slide.is-active {
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: scale(1) !important;
}

.mpf-project-gallery-zoom {
    position: relative !important;
    width: 100% !important;
    height: 580px !important;
    display: block !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: 0 !important;
    background: #17191b !important;
    cursor: zoom-in !important;
}

.mpf-project-gallery-zoom img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: transform .65s ease !important;
}

.mpf-project-gallery-zoom:hover img {
    transform: scale(1.025) !important;
}

.mpf-project-gallery-zoom::after {
    position: absolute !important;
    inset: 0 !important;
    background:
        linear-gradient(
            180deg,
            transparent 62%,
            rgba(0, 0, 0, .42) 100%
        ) !important;
    pointer-events: none !important;
    content: "" !important;
}

.mpf-project-gallery-zoom-icon {
    position: absolute !important;
    z-index: 3 !important;
    top: 22px !important;
    right: 22px !important;
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255, 255, 255, .42) !important;
    background: rgba(20, 22, 24, .64) !important;
    color: #fff !important;
    font-size: 22px !important;
    backdrop-filter: blur(8px) !important;
}

.mpf-project-gallery-slide figcaption {
    position: absolute !important;
    z-index: 4 !important;
    right: 90px !important;
    bottom: 0 !important;
    left: 0 !important;
    padding: 26px 32px !important;
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 650 !important;
    line-height: 1.55 !important;
    pointer-events: none !important;
}

.mpf-project-gallery-arrow {
    position: absolute !important;
    z-index: 8 !important;
    top: 50% !important;
    width: 58px !important;
    height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, .42) !important;
    background: rgba(20, 22, 24, .72) !important;
    color: #ffffff !important;
    font-size: 25px !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
    backdrop-filter: blur(9px) !important;
    transition:
        background-color .22s ease,
        color .22s ease,
        transform .22s ease !important;
}

.mpf-project-gallery-arrow:hover {
    background: #f4511e !important;
    transform: translateY(-50%) scale(1.06) !important;
}

.mpf-project-gallery-prev {
    left: 22px !important;
}

.mpf-project-gallery-next {
    right: 22px !important;
}

.mpf-project-gallery-thumbs {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    margin-top: 18px !important;
    padding: 3px 2px 13px !important;
    scrollbar-width: thin !important;
}

.mpf-project-gallery-thumb {
    position: relative !important;
    flex: 0 0 126px !important;
    height: 84px !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: 3px solid transparent !important;
    background: #e3e6e8 !important;
    opacity: .58 !important;
    cursor: pointer !important;
    transition:
        opacity .2s ease,
        border-color .2s ease,
        transform .2s ease !important;
}

.mpf-project-gallery-thumb img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
}

.mpf-project-gallery-thumb:hover {
    opacity: .88 !important;
    transform: translateY(-2px) !important;
}

.mpf-project-gallery-thumb.is-active {
    border-color: #f4511e !important;
    opacity: 1 !important;
}

/* Lightbox */

body.mpf-gallery-lightbox-open {
    overflow: hidden !important;
}

.mpf-gallery-lightbox {
    position: fixed !important;
    z-index: 99999 !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 35px 95px !important;
    background: rgba(8, 9, 10, .96) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transition:
        opacity .25s ease,
        visibility .25s ease !important;
}

.mpf-gallery-lightbox.is-visible {
    visibility: visible !important;
    opacity: 1 !important;
}

.mpf-gallery-lightbox-content {
    max-width: min(1400px, 90vw) !important;
    max-height: 92vh !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.mpf-gallery-lightbox-content img {
    max-width: 100% !important;
    max-height: 82vh !important;
    display: block !important;
    object-fit: contain !important;
}

.mpf-gallery-lightbox-caption {
    max-width: 900px !important;
    padding: 20px 20px 0 !important;
    color: rgba(255, 255, 255, .88) !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    text-align: center !important;
}

.mpf-gallery-lightbox-close {
    position: absolute !important;
    top: 24px !important;
    right: 28px !important;
    width: 54px !important;
    height: 54px !important;
    border: 1px solid rgba(255, 255, 255, .35) !important;
    background: rgba(255, 255, 255, .08) !important;
    color: #fff !important;
    font-size: 35px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.mpf-gallery-lightbox-arrow {
    position: absolute !important;
    top: 50% !important;
    width: 60px !important;
    height: 60px !important;
    border: 1px solid rgba(255, 255, 255, .35) !important;
    background: rgba(255, 255, 255, .08) !important;
    color: #fff !important;
    font-size: 26px !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
}

.mpf-gallery-lightbox-prev {
    left: 25px !important;
}

.mpf-gallery-lightbox-next {
    right: 25px !important;
}

.mpf-gallery-lightbox-close:hover,
.mpf-gallery-lightbox-arrow:hover {
    border-color: #f4511e !important;
    background: #f4511e !important;
}

/* Адаптивність */

@media (max-width: 800px) {
    .mpf-project-description {
        padding: 30px 26px !important;
    }

    .mpf-project-work-list {
        grid-template-columns: 1fr !important;
    }

    .mpf-project-gallery-heading {
        align-items: flex-start !important;
    }

    .mpf-project-gallery-slides {
        min-height: 440px !important;
    }

    .mpf-project-gallery-zoom {
        height: 440px !important;
    }

    .mpf-project-gallery-arrow {
        width: 48px !important;
        height: 48px !important;
    }

    .mpf-project-gallery-prev {
        left: 12px !important;
    }

    .mpf-project-gallery-next {
        right: 12px !important;
    }

    .mpf-project-gallery-slide figcaption {
        right: 0 !important;
        padding: 22px 24px !important;
    }

    .mpf-gallery-lightbox {
        padding: 75px 15px 25px !important;
    }

    .mpf-gallery-lightbox-arrow {
        top: auto !important;
        bottom: 18px !important;
    }
}

@media (max-width: 520px) {
    .mpf-project-description {
        margin-top: 30px !important;
        padding: 26px 20px !important;
    }

    .mpf-project-description h2 {
        font-size: 26px !important;
    }

    .mpf-project-description p {
        font-size: 16px !important;
    }

    .mpf-project-gallery-heading {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .mpf-project-gallery-slides {
        min-height: 330px !important;
    }

    .mpf-project-gallery-zoom {
        height: 330px !important;
    }

    .mpf-project-gallery-thumb {
        flex-basis: 96px !important;
        height: 66px !important;
    }

    .mpf-project-gallery-slide figcaption {
        padding: 18px !important;
        font-size: 15px !important;
    }

    .mpf-project-gallery-zoom-icon {
        top: 14px !important;
        right: 14px !important;
        width: 42px !important;
        height: 42px !important;
    }
}

/* ===== MPF PROJECT SLIDER V2 END ===== */

/* ===== MPF PROJECT LAYOUT V3 START ===== */

/* Загальна сітка сторінки */

.mpf-project-detail {
    padding: 82px 0 90px !important;
    background:
        linear-gradient(
            180deg,
            #f6f7f7 0,
            #ffffff 240px
        ) !important;
}

.mpf-project-detail-layout {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(320px, 390px) !important;
    align-items: start !important;
    gap: 54px !important;
}

.mpf-project-detail-layout > article {
    min-width: 0 !important;
}

/* Головне фото */

.mpf-project-cover {
    position: relative !important;
    overflow: hidden !important;
    margin: 0 0 42px !important;
    background: #17191b !important;
    box-shadow:
        0 24px 58px rgba(20, 24, 28, .16) !important;
}

.mpf-project-cover::before {
    position: absolute !important;
    z-index: 2 !important;
    inset: 0 !important;

    background:
        linear-gradient(
            180deg,
            transparent 46%,
            rgba(10, 12, 14, .82) 100%
        ) !important;

    pointer-events: none !important;
    content: "" !important;
}

.mpf-project-main-image {
    width: 100% !important;
    height: clamp(480px, 55vw, 680px) !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: transform .8s ease !important;
}

.mpf-project-cover:hover .mpf-project-main-image {
    transform: scale(1.018) !important;
}

.mpf-project-cover-overlay {
    position: absolute !important;
    z-index: 3 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    gap: 30px !important;

    padding: 35px 38px !important;
    color: #fff !important;
}

.mpf-project-cover-overlay > div {
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
}

.mpf-project-cover-label {
    color: #f4511e !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.mpf-project-cover-overlay strong {
    max-width: 650px !important;
    color: #fff !important;
    font-size: clamp(27px, 3vw, 42px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
}

.mpf-project-cover-location {
    max-width: 270px !important;
    padding: 11px 15px !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    background: rgba(20, 22, 24, .55) !important;
    color: rgba(255, 255, 255, .88) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    text-align: right !important;
    backdrop-filter: blur(8px) !important;
}

/* Бокова колонка */

.mpf-project-info {
    position: sticky !important;
    top: 112px !important;

    display: grid !important;
    gap: 22px !important;
}

.mpf-project-info-card {
    position: relative !important;
    overflow: hidden !important;

    border: 1px solid #dfe3e5 !important;
    background: #ffffff !important;
    box-shadow:
        0 18px 44px rgba(20, 24, 28, .08) !important;
}

.mpf-project-facts-card {
    padding: 36px 32px 28px !important;
}

.mpf-project-facts-card::before {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;

    height: 5px !important;
    background: #f4511e !important;
    content: "" !important;
}

.mpf-project-info-heading {
    margin-bottom: 27px !important;
    padding-bottom: 23px !important;
    border-bottom: 1px solid #eceeef !important;
}

.mpf-project-info-kicker {
    display: block !important;
    margin-bottom: 10px !important;

    color: #f4511e !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.mpf-project-info-heading h2 {
    margin: 0 !important;
    color: #17191b !important;
    font-size: 29px !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: -.03em !important;
}

.mpf-project-properties {
    display: grid !important;
    gap: 0 !important;
    margin: 0 !important;
}

.mpf-project-property {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 15px !important;

    padding: 19px 0 !important;
    border-bottom: 1px solid #eceeef !important;
}

.mpf-project-property:last-child {
    border-bottom: 0 !important;
}

.mpf-project-property-icon {
    width: 42px !important;
    height: 42px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #f5f6f6 !important;
    color: #f4511e !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;

    transition:
        background-color .22s ease,
        color .22s ease,
        transform .22s ease !important;
}

.mpf-project-property:hover
.mpf-project-property-icon {
    background: #f4511e !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}

.mpf-project-property dt {
    margin: 0 0 5px !important;
    color: #8a9196 !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.mpf-project-property dd {
    margin: 0 !important;
    color: #24292d !important;
    font-size: 18px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}

/* CTA у боковій колонці */

.mpf-project-contact-card {
    padding: 38px 32px 34px !important;
    border-color: #191b1d !important;
    background:
        radial-gradient(
            circle at 108% -10%,
            rgba(244, 81, 30, .24) 0,
            rgba(244, 81, 30, 0) 44%
        ),
        #191b1d !important;
    color: #fff !important;
}

.mpf-project-contact-card::after {
    position: absolute !important;
    right: -75px !important;
    bottom: -95px !important;

    width: 230px !important;
    height: 230px !important;

    border: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 50% !important;

    content: "" !important;
}

.mpf-project-contact-kicker {
    position: relative !important;
    z-index: 2 !important;

    display: block !important;
    margin-bottom: 12px !important;

    color: #f4511e !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.mpf-project-contact-card h2 {
    position: relative !important;
    z-index: 2 !important;

    margin: 0 0 18px !important;
    color: #fff !important;

    font-size: 31px !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
}

.mpf-project-contact-card p {
    position: relative !important;
    z-index: 2 !important;

    margin: 0 0 28px !important;
    color: rgba(255, 255, 255, .70) !important;

    font-size: 15px !important;
    line-height: 1.7 !important;
}

.mpf-project-contact-button {
    position: relative !important;
    z-index: 2 !important;

    width: 100% !important;
    min-height: 61px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;

    padding: 17px 20px !important;

    border: 2px solid #f4511e !important;
    background: #f4511e !important;
    color: #fff !important;

    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: .025em !important;
    text-decoration: none !important;
}

.mpf-project-contact-button span {
    font-size: 24px !important;
    line-height: 1 !important;
    transition: transform .22s ease !important;
}

.mpf-project-contact-button:hover {
    border-color: #fff !important;
    background: #fff !important;
    color: #17191b !important;
}

.mpf-project-contact-button:hover span {
    transform: translateX(5px) !important;
}

/* Адаптивність */

@media (max-width: 1100px) {
    .mpf-project-detail-layout {
        grid-template-columns: 1fr !important;
    }

    .mpf-project-info {
        position: static !important;
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    .mpf-project-detail {
        padding: 55px 0 65px !important;
    }

    .mpf-project-cover-overlay {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 26px 23px !important;
    }

    .mpf-project-cover-location {
        max-width: 100% !important;
        text-align: left !important;
    }

    .mpf-project-main-image {
        height: 480px !important;
    }

    .mpf-project-info {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 480px) {
    .mpf-project-main-image {
        height: 390px !important;
    }

    .mpf-project-facts-card,
    .mpf-project-contact-card {
        padding-right: 24px !important;
        padding-left: 24px !important;
    }

    .mpf-project-cover-overlay strong {
        font-size: 27px !important;
    }
}

/* ===== MPF PROJECT LAYOUT V3 END ===== */

/* ===== MPF PROJECT VIDEO SUPPORT START ===== */

.mpf-project-gallery-video {
    position: relative !important;
    width: 100% !important;
    height: 580px !important;
    overflow: hidden !important;
    background: #090a0b !important;
}

.mpf-project-gallery-video video {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: contain !important;
    background: #090a0b !important;
}

.mpf-project-video-label {
    position: absolute !important;
    z-index: 3 !important;
    top: 22px !important;
    left: 22px !important;

    padding: 9px 14px !important;

    background: #f4511e !important;
    color: #fff !important;

    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;

    pointer-events: none !important;
}

.mpf-project-gallery-thumb video {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    pointer-events: none !important;
}

.mpf-project-thumb-play {
    position: absolute !important;
    z-index: 3 !important;
    top: 50% !important;
    left: 50% !important;

    width: 34px !important;
    height: 34px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 50% !important;
    background: rgba(244, 81, 30, .92) !important;
    color: #fff !important;

    font-size: 13px !important;
    transform: translate(-50%, -50%) !important;
    pointer-events: none !important;
}

@media (max-width: 800px) {
    .mpf-project-gallery-video {
        height: 440px !important;
    }
}

@media (max-width: 520px) {
    .mpf-project-gallery-video {
        height: 330px !important;
    }
}

/* ===== MPF PROJECT VIDEO SUPPORT END ===== */

/* ==================================================
   ОНОВЛЕНИЙ ОПИС ПРОЄКТУ
   ================================================== */

.mpf-project-description {
    max-width: none !important;
    margin: 44px 0 64px !important;
    padding: 46px 50px !important;

    border: 1px solid #e1e4e6 !important;
    border-left: 0 !important;
    background: #ffffff !important;

    box-shadow:
        0 18px 48px rgba(20, 24, 28, 0.07) !important;
}

.mpf-project-description::before {
    display: block !important;
    width: 46px !important;
    height: 4px !important;
    margin-bottom: 30px !important;

    background: #f4511e !important;
    content: "" !important;
}

.mpf-project-description h2 {
    position: relative !important;

    margin: 46px 0 22px !important;
    padding-bottom: 15px !important;

    color: #17191b !important;
    font-size: clamp(27px, 2.5vw, 36px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.035em !important;
}

.mpf-project-description h2:first-of-type {
    margin-top: 0 !important;
}

.mpf-project-description h2::after {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 54px !important;
    height: 2px !important;

    background: #f4511e !important;
    content: "" !important;
}

.mpf-project-description p {
    max-width: 820px !important;
    margin: 0 0 20px !important;

    color: #4f585e !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.82 !important;
}

.mpf-project-description p:last-child {
    margin-bottom: 0 !important;
}

/* Список виконаних робіт */

.mpf-project-work-list {
    display: grid !important;
    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    gap: 12px 22px !important;

    margin: 4px 0 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.mpf-project-work-list li {
    position: relative !important;

    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;

    padding: 15px 17px 15px 48px !important;

    border: 1px solid #e7e9ea !important;
    background: #f8f9f9 !important;

    color: #30363a !important;
    font-size: 15px !important;
    font-weight: 550 !important;
    line-height: 1.5 !important;

    transition:
        border-color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease !important;
}

.mpf-project-work-list li::before {
    position: absolute !important;
    top: 50% !important;
    left: 18px !important;

    width: 17px !important;
    height: 17px !important;

    border: 2px solid #f4511e !important;
    border-radius: 50% !important;
    background: transparent !important;

    transform: translateY(-50%) !important;
    content: "" !important;
}

.mpf-project-work-list li::after {
    position: absolute !important;
    top: 50% !important;
    left: 24px !important;

    width: 5px !important;
    height: 5px !important;

    border-radius: 50% !important;
    background: #f4511e !important;

    transform: translateY(-50%) !important;
    content: "" !important;
}

.mpf-project-work-list li:hover {
    border-color: rgba(244, 81, 30, 0.35) !important;
    background: #ffffff !important;
    transform: translateY(-2px) !important;
}

/* Період виконання — виділяємо окремо */

.mpf-project-description h2 + p {
    padding-left: 18px !important;
    border-left: 3px solid #f4511e !important;

    color: #252a2e !important;
    font-size: 18px !important;
    font-weight: 650 !important;
}

/* Адаптивність */

@media (max-width: 850px) {
    .mpf-project-description {
        padding: 36px 30px !important;
    }

    .mpf-project-work-list {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 520px) {
    .mpf-project-description {
        margin: 30px 0 45px !important;
        padding: 29px 21px !important;
    }

    .mpf-project-description::before {
        margin-bottom: 24px !important;
    }

    .mpf-project-description h2 {
        margin-top: 37px !important;
        font-size: 27px !important;
    }

    .mpf-project-description p {
        font-size: 16px !important;
        line-height: 1.72 !important;
    }

    .mpf-project-work-list li {
        min-height: 54px !important;
        padding:
            13px 14px 13px 44px !important;
    }
}


/* ==================================================
   PROJECT DESCRIPTION — CLEAN PREMIUM STYLE
   ================================================== */

.mpf-project-description {
    max-width: 920px !important;
    margin: 48px 0 72px !important;
    padding: 0 !important;

    border: 0 !important;
    border-left: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.mpf-project-description::before {
    display: none !important;
    content: none !important;
}

/* Заголовки */

.mpf-project-description h2 {
    position: relative !important;

    margin: 58px 0 24px !important;
    padding: 0 0 16px !important;

    color: #17191b !important;
    font-size: clamp(30px, 3vw, 42px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em !important;
}

.mpf-project-description h2:first-child {
    margin-top: 0 !important;
}

.mpf-project-description h2::after {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 42px !important;
    height: 3px !important;

    background: #f4511e !important;
    content: "" !important;
}

/* Основний текст */

.mpf-project-description p {
    max-width: 820px !important;
    margin: 0 0 22px !important;
    padding: 0 !important;

    border: 0 !important;

    color: #596167 !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.86 !important;
}

.mpf-project-description p:first-of-type {
    color: #353b3f !important;
    font-size: 18px !important;
    line-height: 1.8 !important;
}

/* Прибираємо старе виділення кожного p після h2 */

.mpf-project-description h2 + p {
    max-width: 820px !important;
    padding: 0 !important;
    border-left: 0 !important;

    color: #596167 !important;
    font-size: 17px !important;
    font-weight: 400 !important;
}

/* Період виконання */

.mpf-project-description h2:nth-of-type(2) + p {
    position: relative !important;

    display: inline-flex !important;
    align-items: center !important;
    gap: 14px !important;

    margin-top: 2px !important;
    padding: 16px 22px !important;

    border: 1px solid #e3e6e8 !important;
    border-left: 4px solid #f4511e !important;

    background: #f8f9f9 !important;
    color: #24292d !important;

    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

/* Список робіт */

.mpf-project-work-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 46px !important;
    row-gap: 0 !important;

    margin: 4px 0 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.mpf-project-work-list li {
    position: relative !important;

    min-height: auto !important;
    display: block !important;

    margin: 0 !important;
    padding: 15px 0 15px 30px !important;

    border: 0 !important;
    border-bottom: 1px solid #e7e9ea !important;

    background: transparent !important;
    color: #343a3e !important;

    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;

    transform: none !important;
    box-shadow: none !important;
}

.mpf-project-work-list li::before {
    position: absolute !important;
    top: 22px !important;
    left: 2px !important;

    width: 9px !important;
    height: 9px !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: #f4511e !important;
    transform: rotate(45deg) !important;

    content: "" !important;
}

.mpf-project-work-list li::after {
    display: none !important;
    content: none !important;
}

.mpf-project-work-list li:hover {
    border-color: #e7e9ea !important;
    background: transparent !important;
    transform: none !important;
}

/* Невеликий акцент зліва */

.mpf-project-description {
    position: relative !important;
}

.mpf-project-description::after {
    position: absolute !important;
    top: 0 !important;
    left: -30px !important;

    width: 3px !important;
    height: 88px !important;

    background: #f4511e !important;
    content: "" !important;
}

/* Адаптивність */

@media (max-width: 900px) {
    .mpf-project-description {
        max-width: none !important;
    }

    .mpf-project-description::after {
        left: -16px !important;
    }

    .mpf-project-work-list {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 560px) {
    .mpf-project-description {
        margin: 36px 0 52px !important;
        padding-left: 4px !important;
    }

    .mpf-project-description::after {
        display: none !important;
    }

    .mpf-project-description h2 {
        margin-top: 46px !important;
        font-size: 30px !important;
    }

    .mpf-project-description p,
    .mpf-project-description p:first-of-type,
    .mpf-project-description h2 + p {
        font-size: 16px !important;
        line-height: 1.75 !important;
    }

    .mpf-project-description h2:nth-of-type(2) + p {
        display: flex !important;
        width: 100% !important;
        padding: 15px 17px !important;
    }

    .mpf-project-work-list li {
        padding: 14px 0 14px 27px !important;
        font-size: 15px !important;
    }
}


/* ===== Мінімалістичний стиль опису проєкту ===== */

.mpf-project-description::after,
.mpf-project-description::before,
.mpf-project-description h2::after {
    display: none !important;
}

.mpf-project-description h2 {
    margin: 54px 0 22px !important;
    padding: 0 !important;

    font-size: 52px !important;
    font-weight: 800 !important;
    color: #181b1f !important;
    letter-spacing: -0.04em !important;
}

.mpf-project-description h2:first-child {
    margin-top: 0 !important;
}

.mpf-project-description p {
    max-width: 860px !important;
    margin: 0 0 24px !important;

    color: #4d5358 !important;
    font-size: 18px !important;
    line-height: 1.9 !important;
}

.mpf-project-description h2:nth-of-type(2)+p{
    display:block !important;

    margin-top:8px !important;
    padding:0 !important;

    border:none !important;
    background:none !important;

    font-size:20px !important;
    font-weight:700 !important;
    color:#1b1d20 !important;
}

.mpf-project-work-list{
    margin-top:18px !important;
    column-gap:60px !important;
}

.mpf-project-work-list li{
    padding:13px 0 13px 24px !important;

    border:none !important;
    border-bottom:1px solid #ececec !important;

    background:none !important;

    font-size:17px !important;
    font-weight:500 !important;
}

.mpf-project-work-list li::before{
    width:7px !important;
    height:7px !important;

    left:3px !important;
    top:23px !important;

    border-radius:50% !important;
    transform:none !important;

    background:#f4511e !important;
}

.mpf-project-work-list li:hover{
    background:none !important;
    transform:none !important;
}


/* ==================================================
   PROJECT DESCRIPTION — EDITORIAL CASE STYLE
   ================================================== */

.mpf-project-description {
    position: relative !important;
    max-width: 860px !important;
    margin: 54px 0 78px !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.mpf-project-description::before,
.mpf-project-description::after,
.mpf-project-description h2::after {
    display: none !important;
    content: none !important;
}

/* Заголовки секцій */

.mpf-project-description h2 {
    position: relative !important;

    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 16px !important;

    margin: 58px 0 24px !important;
    padding: 0 !important;

    color: #181b1e !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.035em !important;
}

.mpf-project-description h2:first-child {
    margin-top: 0 !important;
}

.mpf-project-description h2::before {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 42px !important;

    border: 1px solid #dadfe2 !important;
    border-radius: 50% !important;

    color: #f4511e !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    letter-spacing: .06em !important;
}

.mpf-project-description h2:nth-of-type(1)::before {
    content: "01" !important;
}

.mpf-project-description h2:nth-of-type(2)::before {
    content: "02" !important;
}

.mpf-project-description h2:nth-of-type(3)::before {
    content: "03" !important;
}

/* Основний текст */

.mpf-project-description p {
    max-width: 800px !important;
    margin: 0 0 22px 64px !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;

    color: #555d62 !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.82 !important;
}

.mpf-project-description h2 + p {
    max-width: 800px !important;
    margin-left: 64px !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;

    color: #555d62 !important;
    font-size: 17px !important;
    font-weight: 400 !important;
}

/* Період виконання */

.mpf-project-description h2:nth-of-type(2) + p {
    display: inline-flex !important;
    align-items: center !important;

    margin: 0 0 0 64px !important;
    padding: 11px 18px !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: #f1f3f4 !important;
    color: #202428 !important;

    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

/* Список робіт */

.mpf-project-work-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;

    max-width: 800px !important;
    margin: 0 0 0 64px !important;
    padding: 0 !important;

    list-style: none !important;
}

.mpf-project-work-list li {
    position: relative !important;

    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 12px !important;

    margin: 0 !important;
    padding: 13px 0 !important;

    border: 0 !important;
    border-bottom: 1px solid #e8ebed !important;

    background: transparent !important;
    color: #383e42 !important;

    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;

    transform: none !important;
    box-shadow: none !important;
}

.mpf-project-work-list li::before {
    position: static !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 20px !important;
    height: 20px !important;
    margin-top: 2px !important;

    border: 1px solid rgba(244, 81, 30, .45) !important;
    border-radius: 50% !important;

    background: transparent !important;
    color: #f4511e !important;

    font-size: 11px !important;
    font-weight: 800 !important;

    transform: none !important;
    content: "✓" !important;
}

.mpf-project-work-list li::after {
    display: none !important;
    content: none !important;
}

.mpf-project-work-list li:last-child {
    border-bottom: 0 !important;
}

.mpf-project-work-list li:hover {
    background: transparent !important;
    transform: none !important;
}

/* Планшет */

@media (max-width: 800px) {
    .mpf-project-description h2 {
        grid-template-columns: 40px minmax(0, 1fr) !important;
        gap: 13px !important;
        font-size: 29px !important;
    }

    .mpf-project-description h2::before {
        width: 38px !important;
        height: 38px !important;
    }

    .mpf-project-description p,
    .mpf-project-description h2 + p,
    .mpf-project-work-list {
        margin-left: 53px !important;
    }
}

/* Телефон */

@media (max-width: 540px) {
    .mpf-project-description {
        margin: 38px 0 56px !important;
    }

    .mpf-project-description h2 {
        grid-template-columns: 34px minmax(0, 1fr) !important;
        gap: 11px !important;

        margin-top: 46px !important;
        font-size: 26px !important;
    }

    .mpf-project-description h2::before {
        width: 32px !important;
        height: 32px !important;
        font-size: 10px !important;
    }

    .mpf-project-description p,
    .mpf-project-description h2 + p,
    .mpf-project-work-list {
        margin-left: 45px !important;
    }

    .mpf-project-description p,
    .mpf-project-description h2 + p {
        font-size: 16px !important;
        line-height: 1.72 !important;
    }

    .mpf-project-description h2:nth-of-type(2) + p {
        margin-left: 45px !important;
        padding: 10px 15px !important;
    }

    .mpf-project-work-list li {
        grid-template-columns: 20px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 12px 0 !important;
        font-size: 15px !important;
    }
}


/* ===== PARTNERS MARQUEE ===== */

.mpf-partners-section {
    overflow: hidden;
    padding: 90px 0 100px;
    background: #f5f6f6;
}

.mpf-partners-intro {
    max-width: 680px;
    margin-top: 22px;
    color: #697178;
    font-size: 18px;
    line-height: 1.7;
}

.mpf-partners-marquee {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-top: 45px;
}

.mpf-partners-track {
    width: max-content;
    display: flex;
    gap: 18px;
    padding: 10px 0 25px;
    animation: mpf-partners-scroll 38s linear infinite;
}

.mpf-partners-marquee:hover .mpf-partners-track {
    animation-play-state: paused;
}

.mpf-partner-item {
    flex: 0 0 320px;
    min-height: 132px;

    display: flex;
    align-items: center;
    gap: 20px;

    padding: 25px;

    border: 1px solid #dde1e3;
    background: #fff;

    box-shadow: 0 12px 30px rgba(20, 24, 28, .06);

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.mpf-partner-item:hover {
    transform: translateY(-4px);
    border-color: #f4511e;
    box-shadow: 0 18px 42px rgba(20, 24, 28, .11);
}

.mpf-partner-mark {
    flex: 0 0 62px;
    width: 62px;
    height: 62px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #191b1d;
    color: #fff;

    font-size: 18px;
    font-weight: 900;
}

.mpf-partner-item:hover .mpf-partner-mark {
    background: #f4511e;
}

.mpf-partner-copy {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.mpf-partner-copy strong {
    color: #191b1d;
    font-size: 17px;
    font-weight: 850;
    line-height: 1.2;
}

.mpf-partner-copy small {
    color: #81898e;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
}

@keyframes mpf-partners-scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - 9px));
    }
}

@media (max-width: 600px) {
    .mpf-partners-section {
        padding: 60px 0 70px;
    }

    .mpf-partner-item {
        flex-basis: 260px;
        min-height: 112px;
        padding: 18px;
    }

    .mpf-partner-mark {
        flex-basis: 50px;
        width: 50px;
        height: 50px;
        font-size: 15px;
    }

    .mpf-partner-copy strong {
        font-size: 15px;
    }
}

/* ===== MPF SEO UI V2 START ===== */

/* Схожі проєкти */

.mpf-related-projects {
    padding: 95px 0 105px !important;
    background: #f4f5f5 !important;
}

.mpf-related-heading {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 40px !important;
    margin-bottom: 42px !important;
}

.mpf-related-heading h2 {
    margin: 12px 0 0 !important;
    color: #191b1d !important;
    font-size: clamp(38px, 5vw, 62px) !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
}

.mpf-related-all {
    display: inline-flex !important;
    align-items: center !important;
    gap: 13px !important;
    padding-bottom: 7px !important;
    border-bottom: 1px solid #b8bdc0 !important;
    color: #282d31 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.mpf-related-all span {
    color: #f4511e !important;
    font-size: 21px !important;
    transition: transform .2s ease !important;
}

.mpf-related-all:hover span {
    transform: translateX(5px) !important;
}

.mpf-related-grid {
    display: grid !important;
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.mpf-related-card {
    overflow: hidden !important;
    border: 1px solid #dfe2e4 !important;
    background: #fff !important;
    color: inherit !important;
    text-decoration: none !important;
    box-shadow:
        0 14px 35px rgba(20, 24, 28, .06) !important;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease !important;
}

.mpf-related-card:hover {
    border-color: rgba(244, 81, 30, .48) !important;
    box-shadow:
        0 24px 55px rgba(20, 24, 28, .14) !important;
    transform: translateY(-7px) !important;
}

.mpf-related-card-image {
    position: relative !important;
    height: 245px !important;
    overflow: hidden !important;
    background: #1c1e20 !important;
}

.mpf-related-card-image img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    transition: transform .55s ease !important;
}

.mpf-related-card:hover
.mpf-related-card-image img {
    transform: scale(1.045) !important;
}

.mpf-related-placeholder {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: rgba(255, 255, 255, .12) !important;
    font-size: 70px !important;
    font-weight: 900 !important;
    letter-spacing: -.08em !important;
}

.mpf-related-category {
    position: absolute !important;
    left: 19px !important;
    bottom: 18px !important;
    padding: 8px 12px !important;
    background: #f4511e !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.mpf-related-card-content {
    padding: 25px 24px 27px !important;
}

.mpf-related-card-content h3 {
    margin: 0 0 10px !important;
    color: #191b1d !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.22 !important;
    letter-spacing: -.025em !important;
}

.mpf-related-card-content p {
    margin: 0 0 21px !important;
    color: #737b80 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.mpf-related-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 15px !important;
    padding-top: 18px !important;
    border-top: 1px solid #eaeced !important;
    color: #363c40 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.mpf-related-link span {
    color: #f4511e !important;
    font-size: 21px !important;
    transition: transform .2s ease !important;
}

.mpf-related-card:hover
.mpf-related-link span {
    transform: translateX(5px) !important;
}

/* Фінальний CTA проєкту */

.mpf-project-final-cta {
    padding: 0 0 100px !important;
    background: #f4f5f5 !important;
}

.mpf-project-final-cta-inner {
    position: relative !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-columns:
        minmax(0, 1fr)
        auto !important;
    align-items: center !important;
    gap: 65px !important;
    padding: 62px 66px !important;
    background:
        radial-gradient(
            circle at 95% -15%,
            rgba(244, 81, 30, .28),
            transparent 38%
        ),
        #191b1d !important;
}

.mpf-project-final-cta-inner::after {
    position: absolute !important;
    right: -90px !important;
    bottom: -145px !important;
    width: 340px !important;
    height: 340px !important;
    border: 1px solid rgba(255, 255, 255, .07) !important;
    border-radius: 50% !important;
    content: "" !important;
}

.mpf-project-final-cta-copy {
    position: relative !important;
    z-index: 2 !important;
    max-width: 720px !important;
}

.mpf-project-final-cta-label {
    display: block !important;
    margin-bottom: 15px !important;
    color: #f4511e !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.mpf-project-final-cta h2 {
    margin: 0 0 19px !important;
    color: #fff !important;
    font-size: clamp(34px, 4vw, 54px) !important;
    font-weight: 850 !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
}

.mpf-project-final-cta p {
    max-width: 670px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .68) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.mpf-project-final-cta-actions {
    position: relative !important;
    z-index: 2 !important;
    min-width: 245px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 17px !important;
}

.mpf-project-final-cta-actions .mpf-button {
    min-height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.mpf-project-final-cta-contact {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 15px !important;
    padding: 10px 2px !important;
    color: rgba(255, 255, 255, .78) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

.mpf-project-final-cta-contact span {
    color: #f4511e !important;
    font-size: 21px !important;
}

/* Сторінка помилки */

.mpf-error-v2 {
    min-height: 72vh !important;
    display: flex !important;
    align-items: center !important;
    padding: 110px 0 !important;
    background:
        linear-gradient(
            135deg,
            #f4f5f5 0%,
            #ffffff 72%
        ) !important;
}

.mpf-error-v2-grid {
    display: grid !important;
    grid-template-columns:
        minmax(330px, .85fr)
        minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 80px !important;
}

.mpf-error-v2-visual {
    position: relative !important;
    min-height: 390px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #191b1d !important;
}

.mpf-error-v2-code {
    position: absolute !important;
    top: 20px !important;
    left: 24px !important;
    color: rgba(255, 255, 255, .07) !important;
    font-size: 175px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -.08em !important;
}

.mpf-error-v2-building {
    position: relative !important;
    z-index: 2 !important;
    width: 230px !important;
    height: 205px !important;
}

.mpf-error-building-roof {
    position: absolute !important;
    top: 14px !important;
    left: 20px !important;
    width: 190px !important;
    height: 55px !important;
    border-top: 5px solid #f4511e !important;
    border-right: 5px solid #f4511e !important;
    transform: skewY(-17deg) !important;
}

.mpf-error-building-body {
    position: absolute !important;
    right: 25px !important;
    bottom: 10px !important;
    left: 25px !important;
    height: 145px !important;
    border: 4px solid rgba(255, 255, 255, .72) !important;
}

.mpf-error-building-window {
    position: absolute !important;
    top: 89px !important;
    width: 34px !important;
    height: 45px !important;
    border: 3px solid #f4511e !important;
}

.mpf-error-building-window.one {
    left: 48px !important;
}

.mpf-error-building-window.two {
    left: 99px !important;
}

.mpf-error-building-window.three {
    right: 48px !important;
}

.mpf-error-building-door {
    position: absolute !important;
    bottom: 14px !important;
    left: 97px !important;
    width: 39px !important;
    height: 59px !important;
    border: 3px solid rgba(255, 255, 255, .72) !important;
}

.mpf-error-v2-content h1 {
    max-width: 670px !important;
    margin: 17px 0 22px !important;
    color: #191b1d !important;
    font-size: clamp(43px, 5vw, 68px) !important;
    font-weight: 850 !important;
    line-height: .98 !important;
    letter-spacing: -.05em !important;
}

.mpf-error-v2-content > p {
    max-width: 650px !important;
    margin: 0 0 32px !important;
    color: #626b70 !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
}

.mpf-error-v2-actions {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 25px !important;
}

.mpf-error-secondary-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: #282d31 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.mpf-error-secondary-link span {
    color: #f4511e !important;
    font-size: 21px !important;
}

.mpf-error-v2-navigation {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 18px 28px !important;
    margin-top: 46px !important;
    padding-top: 24px !important;
    border-top: 1px solid #dde1e3 !important;
}

.mpf-error-v2-navigation a {
    color: #747c81 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.mpf-error-v2-navigation a:hover {
    color: #f4511e !important;
}

/* Адаптивність */

@media (max-width: 1000px) {
    .mpf-related-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    .mpf-related-card:last-child {
        display: none !important;
    }

    .mpf-project-final-cta-inner {
        grid-template-columns: 1fr !important;
        gap: 35px !important;
    }

    .mpf-project-final-cta-actions {
        max-width: 320px !important;
    }

    .mpf-error-v2-grid {
        grid-template-columns: 1fr !important;
        gap: 50px !important;
    }

    .mpf-error-v2-visual {
        min-height: 330px !important;
    }
}

@media (max-width: 650px) {
    .mpf-related-projects {
        padding: 65px 0 70px !important;
    }

    .mpf-related-heading {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 22px !important;
    }

    .mpf-related-grid {
        grid-template-columns: 1fr !important;
    }

    .mpf-related-card:last-child {
        display: block !important;
    }

    .mpf-related-card-image {
        height: 220px !important;
    }

    .mpf-project-final-cta {
        padding-bottom: 70px !important;
    }

    .mpf-project-final-cta-inner {
        padding: 42px 26px !important;
    }

    .mpf-project-final-cta-actions {
        width: 100% !important;
        max-width: none !important;
    }

    .mpf-error-v2 {
        padding: 65px 0 !important;
    }

    .mpf-error-v2-visual {
        min-height: 275px !important;
    }

    .mpf-error-v2-code {
        font-size: 120px !important;
    }

    .mpf-error-v2-building {
        transform: scale(.78) !important;
    }

    .mpf-error-v2-content h1 {
        font-size: 43px !important;
    }
}

/* ===== MPF SEO UI V2 END ===== */

/* ===== MPF PROJECTS CAROUSEL START ===== */

.mpf-project-carousel-section {
    overflow: hidden;
    padding: 92px 0 100px;
    background: #f4f5f5;
}

.mpf-project-carousel-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 42px;
}

.mpf-project-carousel-heading .mpf-section-title {
    margin: 14px 0 0;
}

.mpf-project-carousel-controls {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mpf-project-carousel-counter {
    min-width: 65px;
    margin-right: 12px;
    color: #777f84;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

.mpf-project-carousel-counter strong {
    color: #191b1d;
    font-size: 18px;
}

.mpf-project-carousel-arrow {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #cfd4d6;
    background: #fff;
    color: #191b1d;

    font-size: 21px;
    line-height: 1;
    cursor: pointer;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.mpf-project-carousel-arrow:hover:not(:disabled) {
    border-color: #f4511e;
    background: #f4511e;
    color: #fff;
    transform: translateY(-2px);
}

.mpf-project-carousel-arrow:disabled {
    cursor: default;
    opacity: .35;
}

.mpf-project-carousel-viewport {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;

    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
}

.mpf-project-carousel-viewport::-webkit-scrollbar {
    display: none;
}

.mpf-project-carousel-track {
    display: flex;
    gap: 24px;
    width: max-content;
}

.mpf-project-carousel-card {
    width: calc(
        (min(1320px, calc(100vw - 48px)) - 48px) / 3
    );
    max-width: 424px;

    flex: 0 0 auto;
    scroll-snap-align: start;

    overflow: hidden;
    border: 1px solid #dfe2e4;
    background: #fff;
    color: inherit;
    text-decoration: none;

    box-shadow:
        0 13px 34px rgba(20, 24, 28, .06);

    transition:
        border-color .24s ease,
        box-shadow .24s ease,
        transform .24s ease;
}

.mpf-project-carousel-card:hover {
    border-color: rgba(244, 81, 30, .55);
    box-shadow:
        0 23px 52px rgba(20, 24, 28, .13);
    transform: translateY(-6px);
}

.mpf-project-carousel-image {
    position: relative;
    height: 275px;
    overflow: hidden;
    background: #191b1d;
}

.mpf-project-carousel-image::after {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            transparent 48%,
            rgba(0, 0, 0, .56) 100%
        );
    pointer-events: none;
    content: "";
}

.mpf-project-carousel-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .55s ease;
}

.mpf-project-carousel-card:hover
.mpf-project-carousel-image img {
    transform: scale(1.045);
}

.mpf-project-carousel-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;

    color: rgba(255, 255, 255, .14);
    font-size: 74px;
    font-weight: 900;
}

.mpf-project-carousel-category {
    position: absolute;
    z-index: 2;
    left: 20px;
    bottom: 18px;

    padding: 8px 12px;
    background: #f4511e;
    color: #fff;

    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mpf-project-carousel-content {
    min-height: 190px;
    display: flex;
    flex-direction: column;
    padding: 26px 25px 24px;
}

.mpf-project-carousel-content h3 {
    margin: 0 0 14px;
    color: #191b1d;

    font-size: 22px;
    font-weight: 820;
    line-height: 1.22;
    letter-spacing: -.025em;
}

.mpf-project-carousel-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 13px;

    margin-bottom: 21px;
    color: #737b80;

    font-size: 13px;
    line-height: 1.45;
}

.mpf-project-carousel-meta span + span::before {
    margin-right: 13px;
    color: #f4511e;
    content: "•";
}

.mpf-project-carousel-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;

    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid #eaeced;

    color: #33393d;
    font-size: 13px;
    font-weight: 800;
}

.mpf-project-carousel-link span {
    color: #f4511e;
    font-size: 21px;
    transition: transform .2s ease;
}

.mpf-project-carousel-card:hover
.mpf-project-carousel-link span {
    transform: translateX(5px);
}

.mpf-project-carousel-dots {
    min-height: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    margin-top: 30px;
}

.mpf-project-carousel-dot {
    width: 8px;
    height: 8px;
    padding: 0;

    border: 0;
    border-radius: 50%;
    background: #bec4c7;

    cursor: pointer;

    transition:
        width .2s ease,
        border-radius .2s ease,
        background-color .2s ease;
}

.mpf-project-carousel-dot.is-active {
    width: 28px;
    border-radius: 8px;
    background: #f4511e;
}

@media (max-width: 1000px) {
    .mpf-project-carousel-card {
        width: calc((100vw - 72px) / 2);
        max-width: none;
    }
}

@media (max-width: 650px) {
    .mpf-project-carousel-section {
        padding: 64px 0 72px;
    }

    .mpf-project-carousel-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 24px;
        margin-bottom: 30px;
    }

    .mpf-project-carousel-controls {
        width: 100%;
        justify-content: flex-end;
    }

    .mpf-project-carousel-card {
        width: calc(100vw - 36px);
        max-width: none;
    }

    .mpf-project-carousel-image {
        height: 235px;
    }

    .mpf-project-carousel-content {
        min-height: 175px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mpf-project-carousel-viewport {
        scroll-behavior: auto;
    }
}

/* ===== MPF PROJECTS CAROUSEL END ===== */
