@import url("cinematic-system.css");

:root{
    --mfm-bg:#0f0b0b;
    --mfm-surface:#171212;
    --mfm-gold:#c89b5d;
    --mfm-amber:#df8a42;
    --mfm-text:#f5efe8;
    --mfm-muted:#b3a59c;
    --mfm-container:1280px;
}

*{box-sizing:border-box}

body{
    margin:0;
    background:var(--mfm-bg);
    color:var(--mfm-text);
    font-family:Inter,sans-serif;
    line-height:1.7;
}

.mfm-container{
    width:min(100% - 40px,var(--mfm-container));
    margin-inline:auto;
}

.mfm-header{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(10,10,10,.72);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(255,255,255,.06);
}

.mfm-header__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:84px;
}

.mfm-nav ul{
    display:flex;
    gap:24px;
    list-style:none;
    margin:0;
    padding:0;
}

.mfm-nav a{
    color:var(--mfm-text);
    text-decoration:none;
    font-size:14px;
}

.mfm-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:48px;
    padding-inline:24px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--mfm-amber),var(--mfm-gold));
    color:#111;
    text-decoration:none;
    font-weight:700;
}

.mfm-hero{
    min-height:100vh;
    display:flex;
    align-items:center;
    padding-block:120px;
    background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.78));
}

.mfm-hero__content{
    max-width:680px;
}

.mfm-eyebrow{
    display:inline-block;
    margin-bottom:20px;
    color:var(--mfm-gold);
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:12px;
}

.mfm-hero h1{
    margin:0 0 24px;
    font-size:clamp(52px,8vw,92px);
    line-height:.92;
}

.mfm-hero p{
    margin-bottom:32px;
    color:var(--mfm-muted);
    max-width:560px;
}

.mfm-footer{
    padding-block:80px;
    border-top:1px solid rgba(255,255,255,.06);
}


.mfm-section{
    padding:120px 0;
}

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

.mfm-card{
    background:#171111;
    border:1px solid rgba(255,255,255,.06);
    border-radius:28px;
    padding:40px;
}

.mfm-card h3{
    margin-top:0;
    color:var(--mfm-gold);
}

@media(max-width:768px){

    .mfm-grid{
        grid-template-columns:1fr;
    }

}


.mfm-section-heading{
    margin-bottom:48px;
}

.mfm-section-heading span{
    color:var(--mfm-gold);
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:12px;
}

.mfm-section-heading h2{
    margin:12px 0 0;
    font-size:48px;
}

.mfm-story{
    padding:140px 0;
}

.mfm-story__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:center;
}

.mfm-story__image{
    min-height:640px;
    border-radius:32px;
    background:
        linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.45)),
        radial-gradient(circle at top,#3a2920,#151010);
}

.mfm-story__content h2{
    font-size:64px;
    line-height:1;
    margin:0 0 24px;
}

.mfm-services{
    padding:140px 0;
}

.mfm-services-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.mfm-service-card{
    overflow:hidden;
    border-radius:28px;
    background:#171111;
    border:1px solid rgba(255,255,255,.06);
}

.mfm-service-card__image{
    aspect-ratio:4/5;
    background:
        linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.5)),
        radial-gradient(circle at top,#6d4b35,#1b1313);
}

.mfm-service-card__body{
    padding:28px;
}

.mfm-service-card__tag{
    color:var(--mfm-gold);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:2px;
}

.mfm-service-card h3{
    margin:14px 0;
    font-size:28px;
}

.mfm-service-card p{
    color:var(--mfm-muted);
}

.mfm-service-card__bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:24px;
}

.mfm-price{
    color:var(--mfm-gold);
    font-weight:700;
}

.mfm-btn--small{
    height:42px;
    padding-inline:18px;
    font-size:14px;
}

.mfm-cta{
    padding:140px 0;
}

.mfm-cta__box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    padding:64px;
    border-radius:36px;
    background:
        linear-gradient(135deg,#231717,#120d0d);
    border:1px solid rgba(255,255,255,.06);
}

.mfm-cta__box h2{
    margin:16px 0 0;
    font-size:52px;
    line-height:1;
}

@media(max-width:1024px){

    .mfm-services-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .mfm-story__grid{
        grid-template-columns:1fr;
    }

}

/* GX99.2: services dropdown in desktop + mobile nav */
.mfm-nav-services-dropdown{
    position:relative;
    display:flex;
    align-items:center;
}

.mfm-nav-services-toggle{
    border:0;
    background:transparent;
    color:#d9cec2;
    font-size:14px;
    font-family:inherit;
    font-weight:700;
    line-height:24px;
    cursor:pointer;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    letter-spacing:0;
    opacity:1;
}

.mfm-nav-services-panel{
    position:absolute;
    top:100%;
    left:0;
    min-width:180px;
    display:none;
    flex-direction:column;
    gap:4px;
    background:#151010;
    border:1px solid rgba(255,255,255,.08);
    border-radius:10px;
    padding:8px;
    z-index:25;
}

.mfm-nav-services-dropdown::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:100%;
    height:12px;
}

.mfm-nav-services-dropdown.is-open .mfm-nav-services-panel{
    display:flex;
}

.mfm-nav-services-dropdown:hover .mfm-nav-services-panel{
    display:flex;
}

.mfm-nav-services-panel a{
    display:block;
    padding:8px 10px;
    border-radius:8px;
}

.mfm-nav-services-panel a:hover{
    background:rgba(255,255,255,.06);
}

.mfm-nav > a,
.mfm-nav-services-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:24px;
    min-height:24px;
    line-height:24px;
    margin:0;
    vertical-align:middle;
}

.mfm-nav > a{
    font-weight:700;
}

.mfm-mobile-tabs-services-dropdown{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
}

.mfm-mobile-tabs-services-toggle{
    width:100%;
    height:100%;
    border:0;
    background:transparent;
    color:inherit;
    font:inherit;
    cursor:pointer;
}

.mfm-mobile-tabs-services-panel{
    position:absolute;
    top:calc(100% + 2px);
    left:0;
    right:0;
    display:none;
    background:#181212;
    border:1px solid rgba(255,255,255,.08);
    z-index:35;
}

.mfm-mobile-tabs-services-dropdown.is-open .mfm-mobile-tabs-services-panel{
    display:block;
}

.mfm-mobile-tabs-services-panel a{
    display:block;
    padding:10px 12px;
    border-top:1px solid rgba(255,255,255,.06);
    color:#f2e8de;
    text-decoration:none;
}

.mfm-mobile-menu-services-dropdown{
    display:grid;
    gap:6px;
}

.mfm-mobile-menu-services-toggle{
    border:0;
    background:transparent;
    color:#fff;
    font-size:22px;
    text-align:left;
    padding:0;
    cursor:pointer;
}

.mfm-mobile-menu-services-panel{
    display:none;
    padding-left:14px;
    gap:10px;
}

.mfm-mobile-menu-services-dropdown.is-open .mfm-mobile-menu-services-panel{
    display:grid;
}

.mfm-mobile-menu-services-panel a{
    font-size:18px;
    color:#dbcfc2;
}

@media(max-width:768px){

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

    .mfm-story__content h2,
    .mfm-cta__box h2{
        font-size:40px;
    }

    .mfm-cta__box{
        flex-direction:column;
        align-items:flex-start;
        padding:40px;
    }

}


.mfm-page-hero{
    padding:140px 0 60px;
}

.mfm-page-hero h1{
    font-size:72px;
    margin:20px 0;
}

.mfm-service-card__image-link{
    display:block;
}

.mfm-service-card__image-real{
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
    display:block;
}

.mfm-single-service__hero{
    padding:140px 0;
}

.mfm-single-service__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:center;
}

.mfm-single-service__media img{
    width:100%;
    border-radius:32px;
    display:block;
}

.mfm-single-service__content h1{
    font-size:72px;
    line-height:.95;
    margin:18px 0;
}

.mfm-single-service__price{
    color:var(--mfm-gold);
    font-size:28px;
    font-weight:700;
    margin-bottom:24px;
}

.mfm-single-service__text{
    color:var(--mfm-muted);
}

@media(max-width:1024px){

    .mfm-single-service__grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:768px){

    .mfm-page-hero h1,
    .mfm-single-service__content h1{
        font-size:48px;
    }

}


.mfm-language-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:24px;
    height:42px;
    padding-inline:18px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    color:var(--mfm-gold);
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
}


.mfm-homepage-engine{
    overflow:hidden;
}

.mfm-cinematic-hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    overflow:hidden;
}

.mfm-cinematic-hero__bg{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at top right,#5e341d 0%,transparent 30%),
        radial-gradient(circle at bottom left,#2a1717 0%,transparent 35%),
        linear-gradient(180deg,#140f0f 0%,#060404 100%);
}

.mfm-cinematic-hero__overlay{
    position:absolute;
    inset:0;
    backdrop-filter:blur(2px);
}

.mfm-cinematic-hero__grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:80px;
    align-items:center;
    min-height:100vh;
}

.mfm-cinematic-hero h1{
    font-size:clamp(72px,10vw,140px);
    line-height:.88;
    margin:0 0 24px;
    max-width:720px;
}

.mfm-cinematic-hero p{
    max-width:520px;
    color:var(--mfm-muted);
    font-size:18px;
}

.mfm-cinematic-hero__actions{
    display:flex;
    gap:16px;
    margin-top:40px;
}

.mfm-btn--ghost{
    background:transparent;
    color:var(--mfm-text);
    border:1px solid rgba(255,255,255,.12);
}

.mfm-cinematic-hero__media{
    min-height:720px;
    border-radius:40px;
    background:
        linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.55)),
        radial-gradient(circle at top,#70452c,#181010);
    border:1px solid rgba(255,255,255,.06);
}

.mfm-cinematic-hero__floating{
    position:absolute;
    right:-40px;
    bottom:60px;
    width:260px;
    padding:28px;
    border-radius:28px;
    background:rgba(18,12,12,.9);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(18px);
}

.mfm-cinematic-hero__floating span{
    display:block;
    margin-bottom:12px;
    color:var(--mfm-gold);
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
}

.mfm-cinematic-hero__floating strong{
    font-size:28px;
    line-height:1.1;
}

.mfm-experience{
    padding:180px 0;
}

.mfm-experience__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

.mfm-experience__visual{
    min-height:680px;
    border-radius:40px;
    background:
        linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.5)),
        radial-gradient(circle at top,#5f3725,#181010);
}

.mfm-experience__content h2{
    font-size:72px;
    line-height:.95;
    margin:18px 0 28px;
}

.mfm-runtime-services{
    padding:120px 0 180px;
}

.mfm-runtime-services__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.mfm-runtime-card{
    overflow:hidden;
    border-radius:32px;
    background:#171111;
    border:1px solid rgba(255,255,255,.06);
}

.mfm-runtime-card__image{
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
    display:block;
}

.mfm-runtime-card__placeholder{
    aspect-ratio:4/5;
    background:
        linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.5)),
        radial-gradient(circle at top,#6d4b35,#171111);
}

.mfm-runtime-card__body{
    padding:28px;
}

.mfm-runtime-card__duration{
    color:var(--mfm-gold);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:2px;
}

.mfm-runtime-card h3{
    margin:16px 0;
    font-size:32px;
    line-height:1;
}

.mfm-runtime-card p{
    color:var(--mfm-muted);
}

.mfm-runtime-card__bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:28px;
}

.mfm-runtime-card__price{
    color:var(--mfm-gold);
    font-weight:700;
}

.mfm-footer-cinematic{
    padding:120px 0;
    background:
        radial-gradient(circle at top,#2d1818,#0b0707);
    border-top:1px solid rgba(255,255,255,.06);
}

.mfm-footer-cinematic__grid{
    display:grid;
    grid-template-columns:1.2fr .8fr .8fr;
    gap:48px;
}

.mfm-footer-links{
    list-style:none;
    margin:0;
    padding:0;
}

.mfm-footer-links li{
    margin-bottom:12px;
}

.mfm-footer-links a{
    color:var(--mfm-muted);
    text-decoration:none;
}

@media(max-width:1024px){

    .mfm-cinematic-hero__grid,
    .mfm-experience__grid{
        grid-template-columns:1fr;
    }

    .mfm-runtime-services__grid{
        grid-template-columns:repeat(2,1fr);
    }

    .mfm-footer-cinematic__grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:768px){

    .mfm-cinematic-hero h1,
    .mfm-experience__content h2{
        font-size:56px;
    }

    .mfm-runtime-services__grid{
        grid-template-columns:1fr;
    }

    .mfm-cinematic-hero__media{
        min-height:520px;
    }

    .mfm-cinematic-hero__floating{
        position:relative;
        right:auto;
        bottom:auto;
        width:100%;
        margin-top:24px;
    }

}


.mfm-runtime-card__placeholder{
    position:relative;
    aspect-ratio:4/5;
    overflow:hidden;
    background:
        radial-gradient(circle at top right,#8d5632 0%,transparent 35%),
        radial-gradient(circle at bottom left,#3a1e1e 0%,transparent 40%),
        linear-gradient(180deg,#261717,#0f0909);
}

.mfm-runtime-card__placeholder-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(rgba(0,0,0,.05),rgba(0,0,0,.55));
}

.mfm-empty-services{
    padding:80px;
    border-radius:32px;
    background:#171111;
    border:1px solid rgba(255,255,255,.06);
}

.mfm-empty-services h3{
    margin-top:0;
}


.mfm-cinematic-hero__bg{
    background-size:cover !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
}

.mfm-experience__visual{
    background-size:cover !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
}

.mfm-cta-rail{
    position:fixed;
    left:20px;
    bottom:20px;
    z-index:999;
    display:grid;
    gap:12px;
}

.mfm-cta-rail__toggle{
    min-width:52px;
    height:54px;
    gap:10px;
    padding:0 18px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#1b1414;
    border:1px solid rgba(255,255,255,.08);
    color:#fff;
    text-decoration:none;
    backdrop-filter:blur(18px);
    box-shadow:0 10px 30px rgba(0,0,0,.25);
    transition:.25s ease;
}

.mfm-cta-rail__toggle:hover,
.mfm-cta-rail__item:hover{
    transform:translateY(-2px);
    border-color:rgba(200,155,93,.45);
}

.mfm-cta-rail__toggle-mark{
    position:relative;
    width:22px;
    height:18px;
}

.mfm-cta-rail__toggle-mark::before,
.mfm-cta-rail__toggle-mark::after{
    content:'';
    position:absolute;
    left:0;
    border-radius:999px;
    background:#d8aa62;
}

.mfm-cta-rail__toggle-mark::before{
    top:1px;
    width:22px;
    height:14px;
    border-radius:8px;
}

.mfm-cta-rail__toggle-mark::after{
    left:4px;
    bottom:0;
    width:8px;
    height:8px;
    clip-path:polygon(0 0,100% 0,0 100%);
}

.mfm-cta-rail__toggle-label{
    color:#f7f1eb;
    font-size:13px;
    font-weight:800;
    white-space:nowrap;
}

.mfm-cta-rail__panel{
    position:absolute;
    left:0;
    bottom:66px;
    width:auto;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}

.mfm-cta-rail__panel[hidden]{
    display:none;
}

.mfm-cta-rail__list{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
}

.mfm-cta-rail__item,
.mfm-cta-rail__list .mfm-cta-rail__item{
    width:58px !important;
    height:58px !important;
    min-height:58px;
    padding:0;
    justify-content:center;
    gap:0;
    border-radius:20px;
    background:#fff;
    border:1px solid rgba(255,255,255,.26);
    color:#14100f;
    text-decoration:none;
    box-shadow:0 18px 42px rgba(0,0,0,.3);
}

.mfm-cta-rail__item .mfm-media-hub-link__icon{
    width:42px;
    height:42px;
    border:0;
    border-radius:14px;
    background:transparent;
    color:#111;
}

.mfm-cta-rail__item .mfm-media-hub-link__label{
    display:none;
}

@media(max-width:768px){

    .mfm-cta-rail{
        left:12px;
        bottom:12px;
    }

    .mfm-cta-rail__toggle{
        height:46px;
        padding:0 14px;
    }

    .mfm-cta-rail__panel{
        bottom:58px;
    }

    .mfm-cta-rail__item .mfm-media-hub-link__icon{
        width:34px;
        height:34px;
    }

}


.mfm-testimonials,
.mfm-faq{
    padding:160px 0;
}

.mfm-testimonials__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.mfm-testimonial-card{
    padding:40px;
    border-radius:32px;
    background:#171111;
    border:1px solid rgba(255,255,255,.06);
}

.mfm-testimonial-stars{
    color:var(--mfm-gold);
    margin-bottom:20px;
}

.mfm-testimonial-card p{
    color:var(--mfm-muted);
    margin-bottom:28px;
}

.mfm-gallery-strip{
    padding:80px 0;
    overflow:hidden;
}

.mfm-gallery-strip__track{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:24px;
}

.mfm-gallery-strip__item{
    min-height:420px;
    border-radius:28px;
    background:
        linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.55)),
        radial-gradient(circle at top,#73492f,#161010);
}

.mfm-faq__list{
    display:grid;
    gap:24px;
}

.mfm-faq-item{
    padding:40px;
    border-radius:28px;
    background:#171111;
    border:1px solid rgba(255,255,255,.06);
}

.mfm-faq-item h3{
    margin-top:0;
    margin-bottom:16px;
}

.mfm-faq-item p{
    color:var(--mfm-muted);
}

/* O4 Hotfix2: Native article/service FAQ visual parity with homepage FAQ */
.mfm-editorial-content + .mfm-article-faq,
.mfm-single-service__description + .mfm-article-faq{
    margin-top:36px;
}

.mfm-article-faq{
    margin:42px 0;
}

.mfm-article-faq .mfm-faq-heading{
    margin:0 0 20px;
    font-size:48px;
    line-height:1.08;
    color:#f7f3ec;
}

.mfm-article-faq .mfm-faq-item{
    margin:0 0 18px;
    padding:0;
    border-radius:26px;
    overflow:hidden;
    background:#0c0f14;
    border:1px solid rgba(216,170,98,.28);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

.mfm-article-faq .mfm-faq-q{
    list-style:none;
    cursor:pointer;
    margin:0;
    padding:24px 72px 24px 70px;
    color:#f6f2e9;
    font-size:22px;
    font-weight:700;
    line-height:1.35;
    position:relative;
    background:linear-gradient(180deg, rgba(9,12,18,.98), rgba(10,12,17,.95));
}

.mfm-article-faq .mfm-faq-q::-webkit-details-marker{display:none}
.mfm-article-faq .mfm-faq-q::marker{content:""}

.mfm-article-faq .mfm-faq-q:before{
    content:"";
    width:18px;
    height:18px;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.14);
    position:absolute;
    left:26px;
    top:50%;
    transform:translateY(-50%);
}

.mfm-article-faq .mfm-faq-q:after{
    content:"+";
    position:absolute;
    right:26px;
    top:50%;
    transform:translateY(-50%);
    color:#d8aa62;
    font-size:34px;
    font-weight:300;
    line-height:1;
}

.mfm-article-faq .mfm-faq-item[open] .mfm-faq-q:after{
    content:"-";
}

.mfm-article-faq .mfm-faq-a{
    padding:0 28px 24px 70px;
    color:rgba(247,242,233,.82);
    font-size:17px;
    line-height:1.85;
    background:
        radial-gradient(circle at top left, rgba(216,170,98,.12), transparent 45%),
        #111317;
}

.mfm-article-faq .mfm-faq-a p:last-child{margin-bottom:0}

@media(max-width:768px){
    .mfm-article-faq .mfm-faq-heading{
        font-size:34px;
    }
    .mfm-article-faq .mfm-faq-q{
        font-size:19px;
        padding:20px 56px 20px 54px;
    }
    .mfm-article-faq .mfm-faq-q:before{
        left:20px;
        width:15px;
        height:15px;
    }
    .mfm-article-faq .mfm-faq-q:after{
        right:20px;
        font-size:30px;
    }
    .mfm-article-faq .mfm-faq-a{
        padding:0 20px 20px 54px;
        font-size:16px;
    }
}

@media(max-width:1024px){

    .mfm-testimonials__grid,
    .mfm-gallery-strip__track{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:768px){

    .mfm-testimonials__grid,
    .mfm-gallery-strip__track{
        grid-template-columns:1fr;
    }

}


.mfm-booking-page{
    padding-bottom:140px;
}

.mfm-booking-hero{
    padding:160px 0 80px;
}

.mfm-booking-hero h1{
    margin:20px 0;
    font-size:72px;
    line-height:.92;
}

.mfm-booking-layout__grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:40px;
    align-items:start;
}

.mfm-booking-form,
.mfm-booking-summary,
.mfm-booking-note{
    padding:40px;
    border-radius:32px;
    background:#171111;
    border:1px solid rgba(255,255,255,.06);
}

.mfm-booking-runtime-form{
    display:grid;
    gap:24px;
}

.mfm-booking-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}

.mfm-booking-group{
    display:grid;
    gap:12px;
}

.mfm-booking-group label{
    font-size:14px;
    color:var(--mfm-muted);
}

.mfm-booking-group input,
.mfm-booking-group textarea,
.mfm-booking-group select{
    width:100%;
    min-height:54px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.08);
    background:#120d0d;
    color:#fff;
    padding:14px 18px;
}

.mfm-booking-group textarea{
    min-height:120px;
}

.mfm-btn--booking{
    width:100%;
    height:58px;
    margin-top:12px;
    font-size:16px;
}

.mfm-booking-summary ul{
    list-style:none;
    margin:32px 0 0;
    padding:0;
    display:grid;
    gap:20px;
}

.mfm-booking-summary li{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.mfm-booking-summary span{
    color:var(--mfm-muted);
}

.mfm-booking-note{
    margin-top:24px;
}

.mfm-booking-note p{
    color:var(--mfm-muted);
}

@media(max-width:1024px){

    .mfm-booking-layout__grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:768px){

    .mfm-booking-hero h1{
        font-size:52px;
    }

    .mfm-booking-grid{
        grid-template-columns:1fr;
    }

}


.mfm-ai-launcher{
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:1000;
}

.mfm-ai-launcher__button{
    width:64px;
    height:64px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#d18a48,#c89b5d);
    color:#111;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 15px 40px rgba(0,0,0,.35);
}

.mfm-ai-window{
    position:absolute;
    right:0;
    bottom:84px;
    width:380px;
    border-radius:28px;
    overflow:hidden;
    background:#130d0d;
    border:1px solid rgba(255,255,255,.08);
    opacity:0;
    visibility:hidden;
    transform:translateY(12px);
    transition:.25s ease;
}

.mfm-ai-launcher.is-open .mfm-ai-window{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.mfm-ai-window__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:24px;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.mfm-ai-window__header h3{
    margin:6px 0 0;
}

.mfm-ai-label{
    color:var(--mfm-gold);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:2px;
}

.mfm-ai-close{
    border:none;
    background:none;
    color:#fff;
    font-size:28px;
    cursor:pointer;
}

.mfm-ai-window__body{
    padding:24px;
}

.mfm-ai-message{
    padding:18px;
    border-radius:18px;
    background:#1c1414;
}

.mfm-ai-message p{
    margin:0;
    color:var(--mfm-muted);
}

.mfm-ai-quick-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:20px;
}

.mfm-ai-quick-actions button{
    height:40px;
    padding-inline:18px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.08);
    background:#181111;
    color:#fff;
    cursor:pointer;
}

.mfm-ai-window__footer{
    display:flex;
    gap:12px;
    padding:24px;
    border-top:1px solid rgba(255,255,255,.06);
}

.mfm-ai-window__footer input{
    flex:1;
    min-height:48px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.08);
    background:#1a1313;
    color:#fff;
    padding:0 16px;
}

.mfm-ai-window__footer button{
    min-width:74px;
    border:none;
    border-radius:16px;
    background:linear-gradient(135deg,#d18a48,#c89b5d);
    color:#111;
    font-weight:700;
    cursor:pointer;
}

@media(max-width:768px){

    .mfm-ai-window{
        width:min(100vw - 24px,380px);
    }

}


/* =========================================================
   GX11 — MOBILE CINEMATIC GRID SYSTEM
========================================================= */

:root{

    --mfm-mobile-gap:14px;
    --mfm-mobile-radius:22px;
    --mfm-mobile-padding:18px;

}

/* =========================================================
   RESPONSIVE GRID ENGINE
========================================================= */

.mfm-runtime-services__grid,
.mfm-testimonials__grid,
.mfm-gallery-strip__track{
    align-items:stretch;
}

.mfm-runtime-card,
.mfm-testimonial-card,
.mfm-gallery-strip__item{
    height:100%;
}

/* =========================================================
   MOBILE SERVICES 2 COLUMN
========================================================= */

@media(max-width:768px){

    .mfm-runtime-services{
        padding:90px 0 120px;
    }

    .mfm-runtime-services__grid{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:var(--mfm-mobile-gap);
    }

    .mfm-runtime-card{
        border-radius:var(--mfm-mobile-radius);
    }

    .mfm-runtime-card__image,
    .mfm-runtime-card__placeholder{
        aspect-ratio:3/4;
    }

    .mfm-runtime-card__body{
        padding:var(--mfm-mobile-padding);
    }

    .mfm-runtime-card h3{
        font-size:18px;
        line-height:1.15;
        margin:12px 0;
    }

    .mfm-runtime-card p{
        font-size:13px;
        line-height:1.5;
    }

    .mfm-runtime-card__bottom{
        margin-top:18px;
        align-items:flex-start;
        flex-direction:column;
    }

    .mfm-btn--small{
        width:100%;
    }

}

/* =========================================================
   MOBILE TESTIMONIALS
========================================================= */

@media(max-width:768px){

    .mfm-testimonials{
        padding:110px 0;
    }

    .mfm-testimonials__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }

    .mfm-testimonial-card{
        padding:20px;
        border-radius:24px;
    }

    .mfm-testimonial-card p{
        font-size:13px;
    }

}

/* =========================================================
   MOBILE GALLERY STRIP
========================================================= */

@media(max-width:768px){

    .mfm-gallery-strip{
        padding:50px 0;
    }

    .mfm-gallery-strip__track{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }

    .mfm-gallery-strip__item{
        min-height:240px;
        border-radius:22px;
    }

}

/* =========================================================
   MOBILE FAQ
========================================================= */

@media(max-width:768px){

    .mfm-faq{
        padding:100px 0;
    }

    .mfm-faq-item{
        padding:24px;
        border-radius:24px;
    }

    .mfm-faq-item h3{
        font-size:18px;
    }

    .mfm-faq-item p{
        font-size:14px;
    }

}

/* =========================================================
   MOBILE HERO RHYTHM
========================================================= */

@media(max-width:768px){

    .mfm-cinematic-hero{
        min-height:auto;
        padding:140px 0 90px;
    }

    .mfm-cinematic-hero__grid{
        gap:36px;
        min-height:auto;
    }

    .mfm-cinematic-hero h1{
        font-size:54px;
        line-height:.9;
        max-width:100%;
    }

    .mfm-cinematic-hero p{
        font-size:15px;
        line-height:1.7;
    }

    .mfm-cinematic-hero__actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
    }

    .mfm-cinematic-hero__actions .mfm-btn{
        width:100%;
    }

    .mfm-cinematic-hero__media{
        min-height:420px;
        border-radius:30px;
    }

}

/* =========================================================
   MOBILE EXPERIENCE SECTION
========================================================= */

@media(max-width:768px){

    .mfm-experience{
        padding:120px 0;
    }

    .mfm-experience__grid{
        gap:40px;
    }

    .mfm-experience__visual{
        min-height:380px;
        border-radius:28px;
    }

    .mfm-experience__content h2{
        font-size:42px;
        line-height:.95;
    }

}

/* =========================================================
   MOBILE BOOKING UX
========================================================= */

@media(max-width:768px){

    .mfm-booking-page{
        padding-bottom:90px;
    }

    .mfm-booking-hero{
        padding:130px 0 50px;
    }

    .mfm-booking-hero h1{
        font-size:48px;
    }

    .mfm-booking-form,
    .mfm-booking-summary,
    .mfm-booking-note{
        padding:24px;
        border-radius:24px;
    }

}

/* =========================================================
   MOBILE FOOTER
========================================================= */

@media(max-width:768px){

    .mfm-footer-cinematic{
        padding:80px 0 120px;
    }

    .mfm-footer-cinematic__grid{
        gap:32px;
    }

}

/* =========================================================
   SMART MOBILE TYPOGRAPHY
========================================================= */

@media(max-width:768px){

    .mfm-section-heading h2{
        font-size:36px;
        line-height:1;
    }

    .mfm-section-heading{
        margin-bottom:32px;
    }

}

/* =========================================================
   MOBILE PLATFORM DENSITY LOCK
========================================================= */

@media(max-width:480px){

    .mfm-runtime-services__grid,
    .mfm-testimonials__grid,
    .mfm-gallery-strip__track{
        gap:12px;
    }

    .mfm-runtime-card h3{
        font-size:16px;
    }

    .mfm-btn{
        min-height:46px;
    }

}


/* =========================================================
   GX12 — REAL CONTENT + BLOG PLATFORM
========================================================= */

.mfm-blog-hero{
    padding:170px 0 80px;
}

.mfm-blog-hero h1{
    margin:20px 0;
    font-size:82px;
    line-height:.92;
}

.mfm-blog-grid-section{
    padding:40px 0 140px;
}

.mfm-blog-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px;
}

.mfm-blog-card{
    overflow:hidden;
    border-radius:32px;
    background:#171111;
    border:1px solid rgba(255,255,255,.06);
}

.mfm-blog-card__image{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    display:block;
}

.mfm-blog-card__placeholder{
    aspect-ratio:4/3;
    background:
        linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.55)),
        radial-gradient(circle at top,#744a2f,#171010);
}

.mfm-blog-card__body{
    padding:28px;
}

.mfm-blog-card__meta{
    display:block;
    margin-bottom:12px;
    color:var(--mfm-gold);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:2px;
}

.mfm-blog-card h2{
    margin:0 0 18px;
    font-size:30px;
    line-height:1.05;
}

.mfm-blog-card h2 a{
    color:#fff;
    text-decoration:none;
}

.mfm-blog-card p{
    color:var(--mfm-muted);
    margin-bottom:24px;
}

.mfm-blog-pagination{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:center;
    margin-top:26px;
}

.mfm-blog-pagination__item a,
.mfm-blog-pagination__item span{
    display:inline-flex;
    min-width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    padding:0 10px;
    border-radius:999px;
    border:1px solid rgba(216,173,99,.25);
    color:#e9dccd;
    text-decoration:none;
    background:rgba(255,255,255,.02);
}

.mfm-blog-pagination__item .current{
    background:#d8ad63;
    border-color:#d8ad63;
    color:#14100d;
    font-weight:700;
}

/* =========================================================
   SINGLE ARTICLE EXPERIENCE
========================================================= */

.mfm-single-article__hero{
    padding:180px 0 70px;
}

.mfm-single-article__inner{
    max-width:920px;
}

.mfm-single-article__hero h1{
    margin:20px 0 28px;
    font-size:88px;
    line-height:.9;
}

.mfm-single-article__meta{
    display:flex;
    gap:20px;
    color:var(--mfm-muted);
}

.mfm-single-article__content-wrap{
    padding:0 0 160px;
}

.mfm-single-article__layout{
    display:grid;
    grid-template-columns:1fr 340px;
    gap:60px;
    align-items:start;
}

.mfm-single-article__featured{
    margin-bottom:48px;
}

.mfm-single-article__featured img{
    width:100%;
    border-radius:36px;
    display:block;
}

.mfm-editorial-content{
    font-size:18px;
    line-height:1.95;
    color:#e6dfd8;
}

.mfm-editorial-content h2,
.mfm-editorial-content h3{
    margin-top:60px;
    line-height:1;
}

.mfm-editorial-content p{
    margin:0 0 28px;
}

.mfm-article-cta{
    margin-top:80px;
    padding:48px;
    border-radius:32px;
    background:#171111;
    border:1px solid rgba(255,255,255,.06);
}

.mfm-article-cta h3{
    margin-top:0;
    margin-bottom:18px;
    font-size:42px;
}

.mfm-article-cta p{
    color:var(--mfm-muted);
    margin-bottom:24px;
}

.mfm-related-posts{
    position:sticky;
    top:120px;
    padding:32px;
    border-radius:28px;
    background:#171111;
    border:1px solid rgba(255,255,255,.06);
}

.mfm-related-posts h3{
    margin-top:0;
    margin-bottom:28px;
}

.mfm-related-post{
    padding:18px 0;
    border-top:1px solid rgba(255,255,255,.06);
}

.mfm-related-post:first-of-type{
    border-top:none;
    padding-top:0;
}

.mfm-related-post a{
    color:#fff;
    text-decoration:none;
    line-height:1.5;
}

/* =========================================================
   MOBILE EDITORIAL RHYTHM
========================================================= */

@media(max-width:1024px){

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

    .mfm-single-article__layout{
        grid-template-columns:1fr;
    }

    .mfm-related-posts{
        position:relative;
        top:auto;
    }

}

@media(max-width:768px){

    .mfm-blog-hero{
        padding:140px 0 60px;
    }

    .mfm-blog-hero h1{
        font-size:54px;
    }

    .mfm-blog-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }

    .mfm-blog-card{
        border-radius:22px;
    }

    .mfm-blog-card__body{
        padding:18px;
    }

    .mfm-blog-card h2{
        font-size:18px;
    }

    .mfm-blog-card p{
        font-size:13px;
        line-height:1.5;
    }

    .mfm-single-article__hero{
        padding:150px 0 50px;
    }

    .mfm-single-article__hero h1{
        font-size:48px;
    }

    .mfm-single-article__meta{
        flex-wrap:wrap;
        gap:10px;
        font-size:13px;
    }

    .mfm-editorial-content{
        font-size:16px;
        line-height:1.85;
    }

    .mfm-editorial-content h2,
    .mfm-editorial-content h3{
        margin-top:42px;
        font-size:34px;
    }

    .mfm-article-cta{
        padding:28px;
        border-radius:24px;
    }

    .mfm-article-cta h3{
        font-size:30px;
    }

    .mfm-related-posts{
        padding:24px;
        border-radius:24px;
    }

}


/* =========================================================
   GX13 — GLOBAL DESIGN TOKEN + UI SYSTEM LOCK
========================================================= */

:root{

    /* =====================================================
       COLOR TOKENS
    ===================================================== */

    --mfm-bg:#0b0707;
    --mfm-surface:#171111;
    --mfm-surface-2:#1d1515;

    --mfm-text:#f5efe8;
    --mfm-text-soft:#d6cec6;
    --mfm-muted:#9e8f84;

    --mfm-gold:#c89b5d;
    --mfm-gold-soft:#ddb87d;

    --mfm-border:rgba(255,255,255,.06);
    --mfm-border-strong:rgba(255,255,255,.12);

    /* =====================================================
       SPACING SCALE
    ===================================================== */

    --mfm-space-2xs:8px;
    --mfm-space-xs:12px;
    --mfm-space-sm:16px;
    --mfm-space-md:24px;
    --mfm-space-lg:32px;
    --mfm-space-xl:48px;
    --mfm-space-2xl:72px;
    --mfm-space-3xl:120px;
    --mfm-space-4xl:180px;

    /* =====================================================
       RADIUS SYSTEM
    ===================================================== */

    --mfm-radius-sm:16px;
    --mfm-radius-md:24px;
    --mfm-radius-lg:32px;
    --mfm-radius-xl:40px;
    --mfm-radius-pill:999px;

    /* =====================================================
       TYPOGRAPHY SCALE
    ===================================================== */

    --mfm-text-xs:12px;
    --mfm-text-sm:14px;
    --mfm-text-md:16px;
    --mfm-text-lg:18px;
    --mfm-text-xl:24px;

    --mfm-title-sm:32px;
    --mfm-title-md:48px;
    --mfm-title-lg:72px;
    --mfm-title-xl:96px;

    /* =====================================================
       SHADOW SYSTEM
    ===================================================== */

    --mfm-shadow-sm:0 10px 30px rgba(0,0,0,.18);
    --mfm-shadow-md:0 18px 48px rgba(0,0,0,.28);
    --mfm-shadow-lg:0 24px 70px rgba(0,0,0,.4);

    /* =====================================================
       MOTION TOKENS
    ===================================================== */

    --mfm-transition-fast:.2s ease;
    --mfm-transition-base:.28s ease;
    --mfm-transition-slow:.42s ease;

    /* =====================================================
       CONTAINER
    ===================================================== */

    --mfm-container:1320px;

}

/* =========================================================
   GLOBAL RESET REFINEMENT
========================================================= */

html{
    scroll-behavior:smooth;
}

body{
    background:var(--mfm-bg);
    color:var(--mfm-text);
    font-size:var(--mfm-text-md);
    line-height:1.7;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}

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

/* =========================================================
   CONTAINER SYSTEM
========================================================= */

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

/* =========================================================
   TYPOGRAPHY SYSTEM
========================================================= */

h1,h2,h3,h4,h5,h6{
    font-weight:700;
    letter-spacing:-0.03em;
}

.mfm-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--mfm-gold);
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:var(--mfm-text-xs);
}

.mfm-eyebrow::before{
    content:"";
    width:26px;
    height:1px;
    background:var(--mfm-gold);
    opacity:.6;
}

/* =========================================================
   BUTTON SYSTEM
========================================================= */

.mfm-btn{
    position:relative;
    overflow:hidden;
    min-height:52px;
    padding-inline:26px;
    border:none;
    border-radius:var(--mfm-radius-pill);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    background:linear-gradient(
        135deg,
        var(--mfm-gold),
        var(--mfm-gold-soft)
    );
    color:#111;
    font-size:var(--mfm-text-sm);
    font-weight:700;
    text-decoration:none;
    cursor:pointer;
    transition:
        transform var(--mfm-transition-base),
        box-shadow var(--mfm-transition-base),
        opacity var(--mfm-transition-base);
    box-shadow:var(--mfm-shadow-sm);
}

.mfm-btn:hover{
    transform:translateY(-2px);
    box-shadow:var(--mfm-shadow-md);
}

.mfm-btn--ghost{
    background:transparent;
    color:var(--mfm-text);
    border:1px solid var(--mfm-border-strong);
    box-shadow:none;
}

.mfm-btn--ghost:hover{
    border-color:rgba(200,155,93,.45);
}

/* =========================================================
   CARD SYSTEM
========================================================= */

.mfm-runtime-card,
.mfm-blog-card,
.mfm-testimonial-card,
.mfm-faq-item,
.mfm-booking-form,
.mfm-booking-summary,
.mfm-booking-note,
.mfm-related-posts,
.mfm-article-cta{
    backdrop-filter:blur(18px);
    transition:
        transform var(--mfm-transition-base),
        border-color var(--mfm-transition-base),
        background var(--mfm-transition-base);
}

.mfm-runtime-card:hover,
.mfm-blog-card:hover,
.mfm-testimonial-card:hover{
    transform:translateY(-4px);
    border-color:rgba(200,155,93,.14);
}

/* =========================================================
   SECTION RHYTHM
========================================================= */

.mfm-runtime-services,
.mfm-testimonials,
.mfm-faq,
.mfm-experience{
    position:relative;
}

.mfm-runtime-services::before,
.mfm-testimonials::before{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.06),
            transparent
        );
}

/* =========================================================
   FORM SYSTEM
========================================================= */

input,
textarea,
select{
    transition:
        border-color var(--mfm-transition-base),
        background var(--mfm-transition-base),
        box-shadow var(--mfm-transition-base);
}

input:focus,
textarea:focus,
select:focus{
    outline:none;
    border-color:rgba(200,155,93,.35);
    box-shadow:0 0 0 4px rgba(200,155,93,.08);
}

/* =========================================================
   MOTION SYSTEM
========================================================= */

.mfm-runtime-card,
.mfm-blog-card,
.mfm-gallery-strip__item,
.mfm-cinematic-hero__floating,
.mfm-ai-window{
    will-change:transform;
}

/* =========================================================
   IMAGE SYSTEM
========================================================= */

.mfm-runtime-card__image,
.mfm-blog-card__image,
.mfm-single-article__featured img{
    transition:
        transform .7s ease,
        opacity var(--mfm-transition-base);
}

.mfm-runtime-card:hover .mfm-runtime-card__image,
.mfm-blog-card:hover .mfm-blog-card__image{
    transform:scale(1.03);
}

/* =========================================================
   GLOBAL MOBILE TOKENS
========================================================= */

@media(max-width:768px){

    :root{

        --mfm-space-3xl:90px;
        --mfm-space-4xl:120px;

        --mfm-title-lg:54px;
        --mfm-title-xl:64px;

    }

    .mfm-container{
        width:min(calc(100% - 24px), var(--mfm-container));
    }

    body{
        font-size:15px;
    }

}

/* =========================================================
   ULTRA SMALL DEVICES
========================================================= */

@media(max-width:480px){

    :root{

        --mfm-title-lg:48px;
        --mfm-title-xl:58px;

    }

}


/* =========================================================
   GX14 — PERFORMANCE + RUNTIME OPTIMIZATION
========================================================= */

.mfm-runtime-card,
.mfm-blog-card,
.mfm-gallery-strip__item{
    content-visibility:auto;
    contain-intrinsic-size:400px;
}

/* =========================================================
   GPU ACCELERATION
========================================================= */

.mfm-runtime-card,
.mfm-blog-card,
.mfm-btn,
.mfm-ai-window,
.mfm-cinematic-hero__floating{
    transform:translateZ(0);
    backface-visibility:hidden;
}

/* =========================================================
   IMAGE RENDERING
========================================================= */

.mfm-runtime-card__image,
.mfm-blog-card__image,
.mfm-single-article__featured img{
    image-rendering:auto;
}

/* =========================================================
   INTERSECTION VISIBILITY
========================================================= */

.mfm-runtime-card,
.mfm-blog-card{
    opacity:.96;
    transition:
        opacity .35s ease,
        transform .35s ease;
}

.mfm-runtime-card.is-visible,
.mfm-blog-card.is-visible{
    opacity:1;
}

/* =========================================================
   DOM DENSITY REFINEMENT
========================================================= */

.mfm-runtime-services__grid,
.mfm-blog-grid,
.mfm-testimonials__grid{
    contain:layout;
}

/* =========================================================
   MOBILE PERFORMANCE
========================================================= */

@media(max-width:768px){

    .mfm-cinematic-hero__bg{
        background-attachment:scroll !important;
    }

    .mfm-ai-window{
        backdrop-filter:blur(12px);
    }

}


/* =========================================================
   GX15 — VISUAL + MEDIA PRODUCTION SYSTEM
========================================================= */

.mfm-cinematic-hero{
    position:relative;
    overflow:hidden;
    min-height:100svh;
}

.mfm-cinematic-slides{
    position:absolute;
    inset:0;
}

.mfm-cinematic-slide{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    opacity:0;
    transition:opacity 1.4s ease;
    transform:scale(1.04);
}

.mfm-cinematic-slide.is-active{
    opacity:1;
}

.mfm-cinematic-hero__overlay{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at top right,rgba(200,155,93,.14),transparent 32%),
        radial-gradient(circle at bottom left,rgba(133,42,24,.18),transparent 38%);
    pointer-events:none;
}

.mfm-runtime-card{
    position:relative;
    overflow:hidden;
}

.mfm-runtime-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(rgba(255,255,255,.02),transparent);
    opacity:0;
    transition:opacity .4s ease;
    pointer-events:none;
}

.mfm-runtime-card:hover::before{
    opacity:1;
}

.mfm-runtime-card__placeholder{
    position:relative;
}

.mfm-runtime-card__placeholder::after{
    content:"";
    position:absolute;
    inset:auto -20% -30% auto;
    width:180px;
    height:180px;
    background:radial-gradient(circle,rgba(212,149,84,.16),transparent 70%);
    filter:blur(18px);
}

.mfm-gallery-strip__item{
    overflow:hidden;
    position:relative;
}

.mfm-gallery-strip__item::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(to top,rgba(0,0,0,.42),transparent 48%);
}

.mfm-review-avatar{
    width:48px;
    height:48px;
    border-radius:999px;
    object-fit:cover;
    border:2px solid rgba(255,255,255,.08);
}

.mfm-testimonial-card__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:20px;
}

.mfm-blog-card{
    position:relative;
}

.mfm-blog-card::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:45%;
    background:
        linear-gradient(to top,rgba(0,0,0,.38),transparent);
    pointer-events:none;
}

.mfm-single-article__featured{
    overflow:hidden;
    border-radius:36px;
}

.mfm-single-article__featured img{
    aspect-ratio:16/9;
    object-fit:cover;
}

@media(max-width:768px){

    .mfm-cinematic-hero{
        min-height:86svh;
    }

    .mfm-single-article__featured img{
        aspect-ratio:4/3;
    }

}


/* =========================================================
   GX16 — CINEMATIC VISUAL COMPOSITION
========================================================= */

.mfm-cinematic-hero{
    overflow:hidden;
    position:relative;
}

.mfm-cinematic-hero__noise{
    position:absolute;
    inset:0;
    opacity:.08;
    pointer-events:none;
    background-image:
        radial-gradient(rgba(255,255,255,.35) 1px, transparent 1px);
    background-size:4px 4px;
}

.mfm-cinematic-hero__grid{
    align-items:center;
    gap:80px;
}

.mfm-cinematic-composition{
    position:relative;
    min-height:720px;
}

.mfm-composition-card{
    position:absolute;
    border-radius:40px;
    overflow:hidden;
    background:
        linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.5)),
        radial-gradient(circle at top,#8b542f,#140e0d);
    border:1px solid rgba(255,255,255,.06);
    box-shadow:0 40px 90px rgba(0,0,0,.4);
}

.composition-large{
    width:420px;
    height:620px;
    right:40px;
    top:20px;
}

.composition-small{
    width:240px;
    height:320px;
    left:20px;
    bottom:40px;
}

.mfm-composition-badge{
    position:absolute;
    right:0;
    bottom:0;
    width:260px;
    padding:28px;
    border-radius:30px;
    background:rgba(20,14,13,.92);
    backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.06);
}

.mfm-composition-badge span{
    display:block;
    margin-bottom:12px;
    color:var(--mfm-gold);
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:12px;
}

.mfm-composition-badge strong{
    font-size:34px;
    line-height:1;
}

/* =========================================================
   EXPERIENCE COMPOSITION
========================================================= */

.mfm-experience-composition{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:100px;
    align-items:center;
}

.mfm-experience-media{
    min-height:680px;
    border-radius:42px;
    background:
        linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.58)),
        radial-gradient(circle at top,#8d5833,#140d0c);
    position:relative;
    overflow:hidden;
}

.mfm-experience-media::after{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    right:-80px;
    top:-80px;
    border-radius:999px;
    background:radial-gradient(circle,rgba(223,166,92,.22),transparent 70%);
    filter:blur(10px);
}

.mfm-experience-content{
    max-width:620px;
}

.mfm-experience-content h2{
    font-size:82px;
    line-height:.92;
    margin:20px 0 28px;
}

.mfm-experience-content p{
    color:var(--mfm-text-soft);
    margin-bottom:24px;
}

/* =========================================================
   SERVICE GRID FIX
========================================================= */

.mfm-runtime-services__grid--cinematic{
    align-items:stretch;
}

.mfm-runtime-card{
    display:flex;
    flex-direction:column;
    height:100%;
}

.mfm-runtime-card__body{
    display:flex;
    flex-direction:column;
    flex:1;
}

.mfm-runtime-card p{
    flex:1;
}

.mfm-runtime-card__bottom{
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.mfm-runtime-card h3{
    min-height:88px;
}

/* =========================================================
   VISUAL PACING
========================================================= */

.mfm-runtime-services,
.mfm-testimonials,
.mfm-faq{
    padding-top:160px;
    padding-bottom:160px;
}

.mfm-section-heading{
    margin-bottom:56px;
}

/* =========================================================
   MOBILE
========================================================= */

@media(max-width:1024px){

    .mfm-experience-composition{
        grid-template-columns:1fr;
        gap:60px;
    }

    .mfm-experience-content h2{
        font-size:58px;
    }

}

@media(max-width:768px){

    .mfm-cinematic-composition{
        min-height:520px;
    }

    .composition-large{
        width:72%;
        height:420px;
        right:0;
    }

    .composition-small{
        width:42%;
        height:200px;
        left:0;
        bottom:70px;
    }

    .mfm-composition-badge{
        width:220px;
        padding:22px;
    }

    .mfm-composition-badge strong{
        font-size:26px;
    }

    .mfm-experience-media{
        min-height:420px;
        border-radius:30px;
    }

    .mfm-experience-content h2{
        font-size:44px;
    }

    .mfm-runtime-card h3{
        min-height:auto;
    }

}


/* =========================================================
   GX17 — DYNAMIC PLATFORM ENGINE
========================================================= */

.mfm-homepage-runtime{
    isolation:isolate;
}

.mfm-runtime-services{
    position:relative;
}

.mfm-runtime-services::after{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    right:-220px;
    top:20%;
    border-radius:999px;
    background:
        radial-gradient(circle,
        rgba(214,141,72,.08),
        transparent 70%);
    pointer-events:none;
}

.mfm-cinematic-slide{
    animation:mfmSlowZoom 14s ease-in-out infinite alternate;
}

@keyframes mfmSlowZoom{
    from{
        transform:scale(1.02);
    }
    to{
        transform:scale(1.08);
    }
}

.mfm-runtime-card{
    overflow:hidden;
}

.mfm-runtime-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(to top,
        rgba(0,0,0,.34),
        transparent 50%);
    opacity:.6;
    pointer-events:none;
}

.mfm-runtime-card:hover{
    transform:translateY(-8px);
}

.mfm-runtime-card:hover .mfm-runtime-card__placeholder{
    transform:scale(1.03);
}

.mfm-runtime-card__placeholder{
    transition:transform .7s ease;
}

@media(max-width:768px){

    .mfm-runtime-services::after{
        width:260px;
        height:260px;
        right:-120px;
    }

}


/* GX18 HEADER + FOOTER */

body{
    padding-top:84px;
}

.mfm-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:999;
    backdrop-filter:blur(18px);
    background:rgba(10,7,7,.82);
    border-bottom:1px solid rgba(255,255,255,.06);
}

.mfm-header__row{
    height:84px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.mfm-logo{
    color:#fff;
    text-decoration:none;
    font-weight:700;
    letter-spacing:.08em;
}

.mfm-nav{
    display:flex;
    gap:28px;
}

.mfm-nav a,
.mfm-lang-switcher a{
    color:#d9cec2;
    text-decoration:none;
    font-size:14px;
}

.mfm-header__right{
    display:flex;
    align-items:center;
    gap:18px;
}

.mfm-lang-switcher{
    display:flex;
    gap:10px;
}

.mfm-mobile-trigger{
    display:none;
    background:none;
    border:none;
    color:#fff;
    font-size:24px;
}

.mfm-mobile-menu{
    display:none;
}

.mfm-footer{
    position:relative;
    padding:120px 0;
    overflow:hidden;
    border-top:1px solid rgba(255,255,255,.06);
}

.mfm-footer__bg{
    position:absolute;
    inset:0;
    background:
    radial-gradient(circle at bottom right,rgba(196,135,76,.12),transparent 35%);
}

.mfm-footer__grid{
    position:relative;
    display:grid;
    grid-template-columns:1.2fr .8fr .8fr;
    gap:60px;
}

.mfm-footer h3,
.mfm-footer h4{
    margin-bottom:24px;
}

.mfm-footer p,
.mfm-footer li,
.mfm-footer a{
    color:#c6b9ad;
    text-decoration:none;
    line-height:1.9;
}

.mfm-footer ul{
    margin:0;
    padding:0;
    list-style:none;
}

.mfm-footer__socials{
    display:flex;
    gap:14px;
    margin-top:24px;
}

.mfm-footer__socials a{
    min-width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#171111;
}

.mfm-floating-rail{
    position:fixed;
    left:18px;
    bottom:22px;
    z-index:998;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.mfm-floating-rail a{
    width:44px;
    height:44px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#171111;
    color:#fff;
    text-decoration:none;
    border:1px solid rgba(255,255,255,.06);
}

@media(max-width:1024px){

    .mfm-nav{
        display:none;
    }

    .mfm-mobile-trigger{
        display:block;
    }

    .mfm-mobile-menu{
        position:fixed;
        inset:84px 0 0;
        background:#0b0707;
        z-index:995;
        padding:40px 24px;
    }

    .mfm-mobile-menu.is-open{
        display:block;
    }

    .mfm-mobile-menu__inner{
        display:flex;
        flex-direction:column;
        gap:24px;
    }

    .mfm-mobile-menu a{
        color:#fff;
        text-decoration:none;
        font-size:22px;
    }

    .mfm-footer__grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:768px){

    body{
        padding-top:74px;
    }

    .mfm-header__row{
        height:74px;
    }

    .mfm-lang-switcher{
        display:none;
    }

}

.mfm-price-hero{padding:200px 0 120px;background:radial-gradient(circle at top right,rgba(208,149,84,.18),transparent 32%)}
.mfm-price-hero h1{font-size:104px;line-height:.88}
@media(max-width:768px){.mfm-price-hero h1{font-size:52px}}


/* GX HERO IMAGE RENDER FIX */

.mfm-cinematic-slide{
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
}

.mfm-composition-card{
    background-size:cover !important;
    background-repeat:no-repeat !important;
}

.composition-large{
    background-position:center center !important;
}

.composition-small{
    background-position:top center !important;
}


@media(max-width:1024px){

.mfm-single-article__layout{
    grid-template-columns:minmax(0,1fr) !important;
    gap:48px !important;
}

.mfm-single-article__content,
.mfm-editorial-content,
.mfm-editorial-content p,
.mfm-editorial-content h1,
.mfm-editorial-content h2,
.mfm-editorial-content h3,
.mfm-editorial-content img,
.mfm-editorial-content .wp-caption,
.mfm-editorial-content [id^="attachment_"]{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}

.mfm-editorial-content .wp-caption,
.mfm-editorial-content [id^="attachment_"]{
    overflow:hidden !important;
}

.mfm-editorial-content img{
    height:auto !important;
    display:block !important;
}

.mfm-editorial-content h1,
.mfm-editorial-content h2,
.mfm-editorial-content h3{
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    white-space:normal !important;
    line-height:1.05 !important;
}

.mfm-single-article__sidebar{
    width:100% !important;
    max-width:100% !important;
}

.mfm-related-posts{
    position:relative !important;
    top:auto !important;
}

}


/* =========================================================
   GX80 FINAL ARTICLE WIDTH OWNERSHIP FIX
========================================================= */

.mfm-single-article__layout{
    width:100%;
    max-width:100%;
    min-width:0;
}

.mfm-single-article__content{
    width:100%;
    max-width:100%;
    min-width:0;
}

.mfm-editorial-content,
.mfm-editorial-content p,
.mfm-editorial-content h1,
.mfm-editorial-content h2,
.mfm-editorial-content h3,
.mfm-editorial-content h4,
.mfm-editorial-content ul,
.mfm-editorial-content ol,
.mfm-editorial-content li{
    width:auto;
    max-width:100%;
    min-width:0;
    overflow-wrap:anywhere;
    word-break:break-word;
    box-sizing:border-box;
}

.mfm-editorial-content img{
    max-width:100%;
    height:auto;
    display:block;
}

.mfm-editorial-content .wp-caption{
    width:100% !important;
    max-width:100% !important;
}

@media(max-width:1024px){

    .mfm-single-article__layout{
        grid-template-columns:minmax(0,1fr) !important;
        gap:32px !important;
    }

    .mfm-single-article__sidebar{
        width:100%;
        max-width:100%;
        min-width:0;
    }

}

/* O5 Editorial Governance Layer: typography tokens + heading + reading lane control */
:root{
    --mfm-type-hero:clamp(42px,6.2vw,78px);
    --mfm-type-page-title:clamp(36px,5.2vw,64px);
    --mfm-type-section-title:clamp(30px,4vw,52px);
    --mfm-type-card-title:clamp(22px,2.4vw,30px);
    --mfm-type-article-h1:clamp(34px,4.8vw,58px);
    --mfm-type-article-h2:clamp(26px,3.2vw,40px);
    --mfm-type-body:clamp(16px,1.25vw,19px);
    --mfm-type-caption:clamp(12px,.95vw,14px);
    --mfm-type-faq-q:clamp(19px,2.1vw,28px);
    --mfm-type-faq-a:clamp(16px,1.3vw,18px);
    --mfm-reading-max:72ch;
}

.mfm-hero h1,
.mfm-cinematic-hero h1{
    font-size:var(--mfm-type-hero);
    line-height:1.02;
    text-wrap:balance;
}

.mfm-page-hero h1,
.mfm-single-service__content h1{
    font-size:var(--mfm-type-page-title);
    line-height:1.05;
    letter-spacing:-.01em;
    text-wrap:balance;
}

.mfm-section-heading h2,
.mfm-experience__content h2,
.mfm-story__content h2,
.mfm-cta__box h2{
    font-size:var(--mfm-type-section-title);
    line-height:1.08;
    text-wrap:balance;
}

.mfm-service-card h3,
.mfm-runtime-card h3{
    font-size:var(--mfm-type-card-title);
    line-height:1.2;
}

.mfm-single-article__hero h1{
    font-size:var(--mfm-type-article-h1);
    line-height:1.06;
    text-wrap:balance;
}

.mfm-single-article__content h2,
.mfm-single-service__description h2{
    font-size:var(--mfm-type-article-h2);
    line-height:1.18;
}

.mfm-single-article__content,
.mfm-single-service__description{
    font-size:var(--mfm-type-body);
}

.mfm-editorial-content,
.mfm-single-service__description,
.mfm-faq-a{
    max-width:var(--mfm-reading-max);
}

.mfm-editorial-content p,
.mfm-single-service__description p,
.mfm-faq-a p{
    line-height:1.85;
}

.mfm-eyebrow,
.mfm-section-heading span{
    font-size:var(--mfm-type-caption);
}

.mfm-article-faq .mfm-faq-heading{
    font-size:var(--mfm-type-section-title);
    margin-bottom:18px;
}

.mfm-article-faq .mfm-faq-q{
    font-size:var(--mfm-type-faq-q);
    line-height:1.32;
    padding-top:22px;
    padding-bottom:22px;
}

.mfm-article-faq .mfm-faq-a{
    font-size:var(--mfm-type-faq-a);
    line-height:1.84;
}

@media (max-width:1024px){
    .mfm-cinematic-hero h1{font-size:clamp(40px,7vw,66px)}
}

@media (max-width:768px){
    .mfm-hero,
    .mfm-cinematic-hero{
        min-height:auto;
        padding-block:96px 72px;
    }
    .mfm-hero h1,
    .mfm-cinematic-hero h1,
    .mfm-page-hero h1,
    .mfm-single-service__content h1,
    .mfm-single-article__hero h1{
        font-size:clamp(30px,9vw,44px);
        line-height:1.1;
    }
    .mfm-editorial-content,
    .mfm-single-service__description,
    .mfm-faq-a{
        max-width:100%;
    }
}

.mfm-article-toc{
    max-width:var(--mfm-reading-max);
    margin:0 0 36px;
    padding:26px 28px 24px;
    border:1px solid rgba(216,170,99,.22);
    border-radius:18px;
    background:linear-gradient(180deg, rgba(21,14,12,.92), rgba(12,8,7,.86));
    box-shadow:0 18px 46px rgba(0,0,0,.22);
    overflow:hidden;
}

.mfm-article-toc__toggle{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}

.mfm-article-toc__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding-bottom:18px;
    border-bottom:1px solid rgba(216,170,99,.14);
}

.mfm-article-toc__title{
    display:block;
    margin:0;
    color:#f5efe8;
    font-size:clamp(22px,2.4vw,30px);
    line-height:1.2;
}

.mfm-article-toc__count{
    margin-left:auto;
    color:rgba(245,239,232,.58);
    font-size:13px;
    white-space:nowrap;
}

.mfm-article-toc__nav{
    position:relative;
    max-height:260px;
    overflow:hidden;
    transition:max-height .32s ease;
}

.mfm-article-toc__list{
    display:grid;
    gap:16px;
    margin:0;
    padding:22px 0 18px 22px;
}

.mfm-article-toc__item{
    color:rgba(245,239,232,.7);
    padding-left:18px;
}

.mfm-article-toc__item--h3{
    margin-left:28px;
}

.mfm-article-toc__link{
    color:#d8aa63;
    font-weight:650;
    text-decoration:none;
    text-underline-offset:4px;
}

.mfm-article-toc__link:hover,
.mfm-article-toc__link:focus{
    color:#f5efe8;
    text-decoration:underline;
}

.mfm-article-toc__nav::after{
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    height:86px;
    background:linear-gradient(180deg, rgba(12,8,7,0), rgba(12,8,7,.96));
    pointer-events:none;
}

.mfm-article-toc__toggle:checked ~ .mfm-article-toc__nav{
    max-height:1800px;
}

.mfm-article-toc__toggle:checked ~ .mfm-article-toc__nav::after{
    display:none;
}

.mfm-article-toc__button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    min-width:156px;
    min-height:48px;
    margin:8px auto 0;
    padding:12px 22px;
    border:1px solid rgba(216,170,99,.58);
    border-radius:999px;
    color:#f5efe8;
    cursor:pointer;
    font-weight:700;
    line-height:1.2;
    background:rgba(5,5,5,.34);
}

.mfm-article-toc__button:hover,
.mfm-article-toc__button:focus{
    border-color:#d8aa63;
    color:#d8aa63;
}

.mfm-article-toc__less{
    display:none;
}

.mfm-article-toc__toggle:checked ~ .mfm-article-toc__button .mfm-article-toc__more{
    display:none;
}

.mfm-article-toc__toggle:checked ~ .mfm-article-toc__button .mfm-article-toc__less{
    display:inline;
}

@media (max-width:768px){
    .mfm-article-toc{
        max-width:100%;
        margin-bottom:28px;
        padding:22px 20px 20px;
        border-radius:14px;
    }

    .mfm-article-toc__header{
        display:block;
        padding-bottom:16px;
    }

    .mfm-article-toc__count{
        display:none;
    }

    .mfm-article-toc__nav{
        max-height:238px;
    }

    .mfm-article-toc__list{
        gap:14px;
        padding-left:18px;
    }

    .mfm-article-toc__item{
        padding-left:10px;
    }

    .mfm-article-toc__item--h3{
        margin-left:18px;
    }
}

/* O13.7 Typography Scale + Editorial Heading Rhythm Hardening */
body.home .mfm-cinematic-hero h1,
body.front-page .mfm-cinematic-hero h1,
body.page-template-front-page .mfm-cinematic-hero h1{
    max-width:920px !important;
    font-size:clamp(46px,5.4vw,78px) !important;
    line-height:1.06 !important;
    letter-spacing:0 !important;
    word-spacing:normal !important;
    text-wrap:balance;
    overflow-wrap:normal;
}

body.single-post .mfm-single-article__hero h1{
    max-width:920px !important;
    font-size:clamp(36px,4.4vw,62px) !important;
    line-height:1.12 !important;
    letter-spacing:0 !important;
    word-spacing:normal !important;
    text-wrap:balance;
    overflow-wrap:normal;
}

body.single-post .mfm-editorial-content :is(h1,h2,h3,h4,h5){
    letter-spacing:0 !important;
    word-spacing:normal !important;
    text-wrap:balance;
    overflow-wrap:break-word;
    word-break:normal !important;
    font-weight:760 !important;
}

body.single-post .mfm-editorial-content h1{
    font-size:clamp(34px,3.6vw,54px) !important;
    line-height:1.12 !important;
    margin-top:52px !important;
    margin-bottom:16px !important;
}

body.single-post .mfm-editorial-content h2,
body.single-post .mfm-single-article__content h2{
    font-size:clamp(28px,3vw,42px) !important;
    line-height:1.16 !important;
    margin-top:48px !important;
    margin-bottom:16px !important;
}

body.single-post .mfm-editorial-content h3{
    font-size:clamp(23px,2.3vw,32px) !important;
    line-height:1.22 !important;
    margin-top:36px !important;
    margin-bottom:14px !important;
}

body.single-post .mfm-editorial-content h4{
    font-size:clamp(20px,1.8vw,26px) !important;
    line-height:1.28 !important;
    margin-top:30px !important;
    margin-bottom:12px !important;
}

body.single-post .mfm-editorial-content h5{
    font-size:clamp(18px,1.4vw,22px) !important;
    line-height:1.32 !important;
    margin-top:26px !important;
    margin-bottom:10px !important;
}

body.single-post .mfm-editorial-content > :is(h1,h2,h3,h4,h5):first-child,
body.single-post .mfm-article-toc + :is(h1,h2,h3,h4,h5),
body.single-post .mfm-article-toc + * + :is(h1,h2,h3,h4,h5){
    margin-top:28px !important;
}

body.single-post .mfm-editorial-content p,
body.single-post .mfm-editorial-content li{
    word-spacing:normal !important;
}

@media (max-width:768px){
    body.home .mfm-cinematic-hero h1,
    body.front-page .mfm-cinematic-hero h1,
    body.page-template-front-page .mfm-cinematic-hero h1{
        font-size:clamp(34px,10vw,48px) !important;
        line-height:1.08 !important;
        max-width:100% !important;
    }

    body.single-post .mfm-single-article__hero h1{
        font-size:clamp(30px,9vw,42px) !important;
        line-height:1.12 !important;
        max-width:100% !important;
    }

    body.single-post .mfm-editorial-content h1{
        font-size:clamp(30px,8vw,40px) !important;
        margin-top:38px !important;
        margin-bottom:14px !important;
    }

    body.single-post .mfm-editorial-content h2,
    body.single-post .mfm-single-article__content h2{
        font-size:clamp(26px,7vw,34px) !important;
        margin-top:36px !important;
        margin-bottom:14px !important;
    }

    body.single-post .mfm-editorial-content h3{
        font-size:clamp(22px,6vw,28px) !important;
        margin-top:30px !important;
        margin-bottom:12px !important;
    }

    body.single-post .mfm-editorial-content h4{
        font-size:clamp(19px,5vw,24px) !important;
        margin-top:26px !important;
    }

    body.single-post .mfm-editorial-content h5{
        font-size:clamp(17px,4.4vw,21px) !important;
        margin-top:24px !important;
    }
}

/* O13.7R Typography Font Normalization Hotfix */
body.home .mfm-homepage-runtime .mfm-cinematic-hero h1,
body.front-page .mfm-homepage-runtime .mfm-cinematic-hero h1,
body.page-template-front-page .mfm-homepage-runtime .mfm-cinematic-hero h1,
body .mfm-homepage-runtime.gx82-homepage-lock .mfm-cinematic-hero .mfm-cinematic-hero__content h1{
    max-width:820px !important;
    font-family:Inter,Arial,"Helvetica Neue",sans-serif !important;
    font-size:clamp(38px,4.6vw,64px) !important;
    font-weight:700 !important;
    line-height:1.12 !important;
    letter-spacing:0 !important;
    word-spacing:normal !important;
    text-align:left !important;
    text-wrap:pretty;
    overflow-wrap:break-word;
    word-break:normal !important;
}

body .mfm-page-standard.mfm-page-standard--services .mfm-services-hub__hero .mfm-services-hub__intro h1,
body .mfm-page-standard.mfm-page-standard--about .mfm-about-story-hero h1,
body .mfm-page-standard.mfm-page-standard--massage-at-home .mfm-home-massage-page__hero h1,
body .mfm-page-standard.mfm-page-standard--branches .mfm-branches-page__hero h1,
body .mfm-page-standard.mfm-page-standard--sauna .mfm-sauna-hero .mfm-sauna-hero__copy h1,
body .mfm-page-standard.mfm-page-standard--blog .mfm-blog-hero h1,
body .mfm-page-standard.mfm-page-standard--price .mfm-price-menu-luxury__hero h1{
    max-width:780px !important;
    font-family:Inter,Arial,"Helvetica Neue",sans-serif !important;
    font-size:clamp(34px,4vw,56px) !important;
    font-weight:700 !important;
    line-height:1.14 !important;
    letter-spacing:0 !important;
    word-spacing:normal !important;
    text-align:left !important;
    text-wrap:pretty;
    overflow-wrap:break-word;
    word-break:normal !important;
}

body.single-post .mfm-single-article .mfm-single-article__hero .mfm-single-article__inner h1{
    max-width:780px !important;
    font-family:Inter,Arial,"Helvetica Neue",sans-serif !important;
    font-size:clamp(32px,3.45vw,50px) !important;
    font-weight:700 !important;
    line-height:1.15 !important;
    letter-spacing:0 !important;
    word-spacing:normal !important;
    text-align:left !important;
    text-wrap:pretty;
    overflow-wrap:break-word;
    word-break:normal !important;
}

body.single-post .mfm-single-article .mfm-single-article__content,
body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content,
body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content p,
body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content li,
body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content blockquote{
    font-family:Inter,Arial,"Helvetica Neue",sans-serif !important;
    font-style:normal !important;
    text-align:left !important;
    letter-spacing:0 !important;
    word-spacing:normal !important;
    font-kerning:normal;
    text-rendering:optimizeLegibility;
}

body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content :is(h1,h2,h3,h4,h5),
body.single-post .mfm-single-article .mfm-single-article__content .mfm-article-faq :is(h2,h3,summary){
    max-width:100% !important;
    font-family:Inter,Arial,"Helvetica Neue",sans-serif !important;
    font-style:normal !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
    word-spacing:normal !important;
    text-align:left !important;
    text-wrap:pretty;
    overflow-wrap:break-word;
    word-break:normal !important;
    white-space:normal !important;
}

body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content h1{
    font-size:clamp(28px,2.8vw,40px) !important;
    line-height:1.18 !important;
    margin:34px 0 14px !important;
}

body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content h2,
body.single-post .mfm-single-article .mfm-single-article__content h2{
    font-size:clamp(25px,2.3vw,34px) !important;
    line-height:1.2 !important;
    margin:30px 0 12px !important;
}

body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content h3{
    font-size:clamp(22px,1.85vw,28px) !important;
    line-height:1.24 !important;
    margin:26px 0 10px !important;
}

body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content h4{
    font-size:clamp(19px,1.45vw,24px) !important;
    line-height:1.3 !important;
    margin:22px 0 10px !important;
}

body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content h5{
    font-size:clamp(17px,1.2vw,21px) !important;
    line-height:1.34 !important;
    margin:20px 0 8px !important;
}

body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content > :is(h1,h2,h3,h4,h5):first-child,
body.single-post .mfm-single-article .mfm-single-article__content .mfm-article-toc + :is(h1,h2,h3,h4,h5),
body.single-post .mfm-single-article .mfm-single-article__content .mfm-article-toc + * + :is(h1,h2,h3,h4,h5){
    margin-top:22px !important;
}

body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content p,
body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content li{
    font-size:clamp(16px,1.02vw,18px) !important;
    line-height:1.72 !important;
}

body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content strong,
body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content b{
    font-weight:700 !important;
}

body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content em,
body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content i{
    font-style:normal !important;
}

@media (max-width:768px){
    body.home .mfm-homepage-runtime .mfm-cinematic-hero h1,
    body.front-page .mfm-homepage-runtime .mfm-cinematic-hero h1,
    body.page-template-front-page .mfm-homepage-runtime .mfm-cinematic-hero h1,
    body .mfm-homepage-runtime.gx82-homepage-lock .mfm-cinematic-hero .mfm-cinematic-hero__content h1{
        font-size:clamp(30px,8.2vw,40px) !important;
        line-height:1.13 !important;
        max-width:100% !important;
    }

    body .mfm-page-standard.mfm-page-standard--services .mfm-services-hub__hero .mfm-services-hub__intro h1,
    body .mfm-page-standard.mfm-page-standard--about .mfm-about-story-hero h1,
    body .mfm-page-standard.mfm-page-standard--massage-at-home .mfm-home-massage-page__hero h1,
    body .mfm-page-standard.mfm-page-standard--branches .mfm-branches-page__hero h1,
    body .mfm-page-standard.mfm-page-standard--sauna .mfm-sauna-hero .mfm-sauna-hero__copy h1,
    body .mfm-page-standard.mfm-page-standard--blog .mfm-blog-hero h1,
    body .mfm-page-standard.mfm-page-standard--price .mfm-price-menu-luxury__hero h1{
        font-size:clamp(29px,7.8vw,38px) !important;
        line-height:1.14 !important;
        max-width:100% !important;
    }

    body.single-post .mfm-single-article .mfm-single-article__hero .mfm-single-article__inner h1{
        font-size:clamp(28px,7.6vw,36px) !important;
        line-height:1.16 !important;
        max-width:100% !important;
    }

    body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content h1{
        font-size:clamp(25px,6.8vw,32px) !important;
        line-height:1.2 !important;
        margin-top:28px !important;
    }

    body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content h2,
    body.single-post .mfm-single-article .mfm-single-article__content h2{
        font-size:clamp(23px,6.2vw,30px) !important;
        line-height:1.22 !important;
        margin-top:26px !important;
    }

    body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content h3{
        font-size:clamp(20px,5.4vw,26px) !important;
        line-height:1.25 !important;
        margin-top:24px !important;
    }

    body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content h4{
        font-size:clamp(18px,4.8vw,23px) !important;
    }

    body.single-post .mfm-single-article .mfm-single-article__content .mfm-editorial-content h5{
        font-size:clamp(17px,4.4vw,20px) !important;
    }
}

/* O13.7M Single Article Mobile Header Rail Full-Bleed Hotfix */
@media (max-width:768px){
    html body.single-post header.mfm-header > .mfm-container.mfm-container{
        width:100vw !important;
        max-width:100vw !important;
        min-width:0 !important;
        margin-left:0 !important;
        margin-right:0 !important;
        padding-left:0 !important;
        padding-right:0 !important;
        box-sizing:border-box !important;
    }

    html body.single-post header.mfm-header .mfm-mobile-brandbar,
    html body.single-post header.mfm-header nav.mfm-mobile-tabs{
        width:100vw !important;
        max-width:100vw !important;
        min-width:100vw !important;
        margin-left:0 !important;
        margin-right:0 !important;
        box-sizing:border-box !important;
    }

    html body.single-post header.mfm-header nav.mfm-mobile-tabs{
        display:grid !important;
        grid-template-columns:40px minmax(70px,1fr) minmax(58px,.82fr) minmax(70px,.95fr) minmax(76px,1fr) minmax(92px,1.16fr) !important;
        overflow-x:hidden !important;
        overflow-y:hidden !important;
    }

    html body.single-post header.mfm-header nav.mfm-mobile-tabs > a,
    html body.single-post header.mfm-header nav.mfm-mobile-tabs > .mfm-mobile-tabs-services-dropdown,
    html body.single-post header.mfm-header nav.mfm-mobile-tabs > .mfm-mobile-tabs-services-dropdown .mfm-mobile-tabs-services-toggle{
        min-width:0 !important;
        max-width:100% !important;
        width:100% !important;
        box-sizing:border-box !important;
    }

    html body.single-post header.mfm-header nav.mfm-mobile-tabs > a:first-child{
        width:40px !important;
        min-width:40px !important;
    }

    html body.single-post header.mfm-header nav.mfm-mobile-tabs > a.is-booking{
        min-width:92px !important;
    }
}

@media (max-width:420px){
    html body.single-post header.mfm-header nav.mfm-mobile-tabs{
        grid-template-columns:36px minmax(62px,1fr) minmax(54px,.82fr) minmax(64px,.95fr) minmax(68px,1fr) minmax(86px,1.16fr) !important;
    }

    html body.single-post header.mfm-header nav.mfm-mobile-tabs > a:first-child{
        width:36px !important;
        min-width:36px !important;
    }

    html body.single-post header.mfm-header nav.mfm-mobile-tabs > a.is-booking{
        min-width:86px !important;
    }
}
