{"id":4283,"date":"2026-06-08T12:34:17","date_gmt":"2026-06-08T10:34:17","guid":{"rendered":"https:\/\/www.norki.com\/sur-mesure\/?page_id=4283"},"modified":"2026-06-10T15:56:38","modified_gmt":"2026-06-10T13:56:38","slug":"mountain-projects","status":"publish","type":"page","link":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/","title":{"rendered":"Mountain"},"content":{"rendered":"\n<style>\n    \/* ==========================================================================\n       HERO SLIDER 16\/9 (Auto-slide to the right + Touch Swipe)\n       ========================================================================== *\/\n\n    .norki-hero-slider {\n        position: relative;\n        width: 100%;\n        aspect-ratio: 16 \/ 9; \/* Forces 16:9 ratio across all screen sizes *\/\n        overflow: hidden;\n        background-color: black;\n        max-height: 100dvh;\n    }\n\n    \/* --- 1. Slide Container --- *\/\n    .norki-hs__track {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n    }\n\n    .norki-hs__slide {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        opacity: 0;\n        transform: translateX(100%); \/* Starts from the far right *\/\n        transition: transform 1s cubic-bezier(0.65, 0, 0.35, 1), opacity 1s ease;\n        z-index: 1;\n    }\n\n    \/* Active Slide *\/\n    .norki-hs__slide.is-active {\n        opacity: 1;\n        transform: translateX(0);\n        z-index: 2;\n    }\n\n    \/* Outgoing Slide (exits to the left) *\/\n    .norki-hs__slide.is-leaving {\n        opacity: 1;\n        transform: translateX(-100%);\n        z-index: 2;\n    }\n\n    .norki-hs__image {\n        width: 100%;\n        height: 100%;\n        object-fit: cover;\n        object-position: center;\n        display: block;\n    }\n\n    \/* Darkening gradient at the bottom for readability *\/\n    .norki-hs__overlay {\n        position: absolute;\n        bottom: 0;\n        left: 0;\n        width: 100%;\n        height: 60%;\n        background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 100%);\n        z-index: 3;\n        pointer-events: none;\n    }\n\n    \/* --- 2. Texts (Within each slide) --- *\/\n    .norki-hs__text-container {\n        position: absolute;\n        bottom: var(--section-pad-h-dt, 5vw); \/* Aligned with lateral global padding *\/\n        left: var(--section-pad-h-dt, 5vw);\n        z-index: 4;\n        color: #ffffff;\n    }\n\n    .norki-hs__title {\n        display: block; \/* Maintains block behavior for the span *\/\n        font-family: var(--font-montserrat, \"AvenirMedium\", sans-serif);\n        font-size: clamp(2rem, 3.5vw, 45px);\n        font-weight: 500;\n        margin: 0 0 5px 0;\n        line-height: 1.1;\n        letter-spacing: -0.01em;\n        text-shadow: 0 2px 4px rgba(0,0,0,0.3);\n        color: white;\n    }\n\n    .norki-hs__subtitle {\n        font-size: clamp(1.2rem, 2vw, 24px);\n        margin: 0;\n        line-height: 1.3;\n        text-shadow: 0 2px 4px rgba(0,0,0,0.3);\n        display: block;\n    }\n\n    \/* --- 3. Global UI Interface (Positioned over the slides) --- *\/\n    .norki-hs__ui {\n        position: absolute;\n        bottom: var(--section-pad-h-dt, 5vw);\n        left: 0;\n        width: 100%;\n        padding: 0 var(--section-pad-h-dt, 5vw);\n        box-sizing: border-box;\n        display: flex;\n        justify-content: flex-end; \/* Aligns flow content (button) to the right *\/\n        align-items: flex-end;\n        z-index: 10;\n        pointer-events: none; \/* Allows clicks to pass through to the slider if needed *\/\n    }\n\n    \/* Discover Button (Bottom right) *\/\n    .norki-hs__discover-btn {\n        pointer-events: auto; \/* Re-enables clicking *\/\n        color: #ffffff;\n        text-decoration: none;\n        font-size: 1.1rem;\n        font-weight: 500;\n        font-family: var(--font-montserrat, \"AvenirMedium\", sans-serif);\n        position: relative;\n        padding-bottom: 3px;\n        transition: opacity 0.4s ease;\n        text-shadow: 0 2px 4px rgba(0,0,0,0.3);\n    }\n\n    \/* Elegant underline animation *\/\n    .norki-hs__discover-btn::after {\n        content: '';\n        position: absolute;\n        bottom: 0;\n        left: 0;\n        width: 100%;\n        height: 1px;\n        background-color: #ffffff;\n        transform: scaleX(1);\n        transform-origin: right;\n        transition: transform 0.4s ease;\n    }\n\n    .norki-hs__discover-btn:hover::after {\n        transform: scaleX(0);\n        transform-origin: left;\n    }\n\n    \/* Utility class to hide the button during transitions *\/\n    .norki-hs__discover-btn.is-hidden {\n        opacity: 0;\n        pointer-events: none;\n    }\n\n    \/* Pagination Dots (Centered) *\/\n    .norki-hs__pagination {\n        position: absolute;\n        left: 50%;\n        transform: translateX(-50%);\n        display: flex;\n        gap: 12px;\n        align-items: center;\n        pointer-events: auto;\n    }\n\n    .norki-hs__dot {\n        width: 8px;\n        height: 8px;\n        border-radius: 50%;\n        border: 1px solid #ffffff;\n        background-color: transparent;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        padding: 0;\n        box-shadow: 0 1px 3px rgba(0,0,0,0.2);\n    }\n\n    .norki-hs__dot.is-active {\n        background-color: #ffffff;\n        transform: scale(1.2);\n    }\n\n    \/* --- 4. Responsive (16\/9 ratio adaptation on smaller screens) --- *\/\n    @media (max-width: 768px) {\n        \/* Percentages are used to adapt to the lower height of the 16\/9 layout on mobile *\/\n        .norki-hs__text-container {\n            bottom: 22%; \n            left: 5vw;\n        }\n\n        .norki-hs__ui {\n            bottom: 8%;\n            padding: 0 5vw;\n        }\n\n        .norki-hs__title { font-size: clamp(1.2rem, 4vw, 1.8rem); margin-bottom: 2px; }\n        .norki-hs__subtitle { font-size: clamp(0.9rem, 3vw, 1.1rem); }\n        .norki-hs__discover-btn { font-size: clamp(0.8rem, 3vw, 0.95rem); padding-bottom: 1px; }\n        \n        .norki-hs__pagination {\n            gap: 8px;\n        }\n        .norki-hs__dot {\n            width: 5px;\n            height: 5px;\n        }\n    }\n<\/style>\n\n<section class=\"norki-hero-slider\" aria-label=\"Norki mountain realizations hero slider\">\n    \n    <div class=\"norki-hs__track\">\n        \n        <!-- SLIDE 1: French Alps Apartment -->\n        <div class=\"norki-hs__slide is-active\" data-link=\"#discover-alps-apartment\">\n            <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/06\/Tapis-Norki-Megeve-Interieur-Chalet-v2.png\" alt=\"French Alps Apartment featuring bespoke carpets\" class=\"norki-hs__image\" fetchpriority=\"high\" loading=\"eager\">\n            <div class=\"norki-hs__overlay\"><\/div>\n            <div class=\"norki-hs__text-container\">\n                <span class=\"norki-hs__title\">Bespoke Realization<\/span>\n                <span class=\"norki-hs__subtitle baskerville-italic-font\">French Alps Apartment<\/span>\n            <\/div>\n        <\/div>\n\n        <!-- SLIDE 2: James Bond Contemporary Chalet -->\n        <div class=\"norki-hs__slide\" data-link=\"#discover-james-bond-chalet\">\n            <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/06\/interior-design-the-lonsdaleite-premiere-chalet-v2.png\" alt=\"Contemporary James Bond-style chalet in Saint-Moritz\" class=\"norki-hs__image\" loading=\"lazy\">\n            <div class=\"norki-hs__overlay\"><\/div>\n            <div class=\"norki-hs__text-container\">\n                <span class=\"norki-hs__title\">James Bond-Style Contemporary Chalet<\/span>\n                <span class=\"norki-hs__subtitle baskerville-italic-font\">Chalet in Saint-Moritz<\/span>\n            <\/div>\n        <\/div>\n\n        <!-- SLIDE 3: Chalet Saint-Moritz -->\n        <div class=\"norki-hs__slide\" data-link=\"#discover-saint-moritz-chalet\">\n            <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/06\/Mink-Salon-Royere-Projet-Jacques-Garcia-v2.png\" alt=\"Jacques Garcia-designed chalet in Saint-Moritz featuring custom mink furniture\" class=\"norki-hs__image\" loading=\"lazy\">\n            <div class=\"norki-hs__overlay\"><\/div>\n            <div class=\"norki-hs__text-container\">\n                <span class=\"norki-hs__title\">Bespoke Realization<\/span>\n                <span class=\"norki-hs__subtitle baskerville-italic-font\">Chalet in Saint-Moritz<\/span>\n            <\/div>\n        <\/div>\n\n    <\/div>\n\n    <!-- Global UI (Pagination & Button) -->\n    <div class=\"norki-hs__ui\">\n        \n        <!-- Pagination -->\n        <div class=\"norki-hs__pagination\" aria-label=\"Slide navigation\">\n            <button class=\"norki-hs__dot is-active\" aria-label=\"Go to slide 1\"><\/button>\n            <button class=\"norki-hs__dot\" aria-label=\"Go to slide 2\"><\/button>\n            <button class=\"norki-hs__dot\" aria-label=\"Go to slide 3\"><\/button>\n        <\/div>\n\n        <!-- Discover Button -->\n        <a href=\"#discover-alps-apartment\" class=\"norki-hs__discover-btn avenirmedium-font\">Discover<\/a>\n        \n    <\/div>\n\n<\/section>\n\n<script>\n    document.addEventListener(\"DOMContentLoaded\", () => {\n        const slides = document.querySelectorAll('.norki-hs__slide');\n        const dots = document.querySelectorAll('.norki-hs__dot');\n        const discoverBtn = document.querySelector('.norki-hs__discover-btn');\n        const totalSlides = slides.length;\n        \n        let currentIndex = 0;\n        let slideInterval;\n        const intervalTime = 6000; \/\/ 6 seconds per slide\n\n        \/\/ 1. Transition logic\n        const goToSlide = (nextIndex) => {\n            if (nextIndex === currentIndex) return;\n\n            const currentSlide = slides[currentIndex];\n            const nextSlide = slides[nextIndex];\n\n            \/\/ A. Hide the Discover button\n            discoverBtn.classList.add('is-hidden');\n\n            \/\/ B. Animate slide transitions\n            currentSlide.classList.remove('is-active');\n            currentSlide.classList.add('is-leaving');\n            \n            \/\/ Ensure next slide has the active class to enter\n            nextSlide.classList.add('is-active');\n\n            \/\/ C. Update pagination dots\n            dots[currentIndex].classList.remove('is-active');\n            dots[nextIndex].classList.add('is-active');\n\n            \/\/ D. Clean up old slide and show button\n            setTimeout(() => {\n                \/\/ Remove outgoing slide from viewport\n                currentSlide.classList.remove('is-leaving');\n                \n                \/\/ Disable transitions temporarily to reset slide positions silently on the right\n                currentSlide.style.transition = 'none';\n                void currentSlide.offsetWidth; \/\/ Force browser reflow\n                currentSlide.style.transition = ''; \/\/ Restore transitions for the next turn\n                \n                \/\/ Update links and reveal the button\n                discoverBtn.href = nextSlide.dataset.link;\n                discoverBtn.classList.remove('is-hidden');\n            }, 1000); \/\/ 1s = duration of the CSS transition\n\n            currentIndex = nextIndex;\n        };\n\n        const nextSlide = () => {\n            goToSlide((currentIndex + 1) % totalSlides);\n        };\n\n        const prevSlide = () => {\n            goToSlide((currentIndex - 1 + totalSlides) % totalSlides);\n        };\n\n        \/\/ 2. Initialize Autoplay\n        const startSlider = () => {\n            slideInterval = setInterval(nextSlide, intervalTime);\n        };\n\n        const resetSlider = () => {\n            clearInterval(slideInterval);\n            startSlider();\n        };\n\n        \/\/ Make dots clickable\n        dots.forEach((dot, index) => {\n            dot.addEventListener('click', () => {\n                goToSlide(index);\n                resetSlider(); \/\/ Reset timer\n            });\n        });\n\n        \/\/ 3. Touch Swipe Handling for Mobile & Tablet\n        let touchStartX = 0;\n        let touchEndX = 0;\n        const sliderContainer = document.querySelector('.norki-hero-slider');\n\n        sliderContainer.addEventListener('touchstart', (e) => {\n            touchStartX = e.changedTouches[0].screenX;\n        }, { passive: true });\n\n        sliderContainer.addEventListener('touchend', (e) => {\n            touchEndX = e.changedTouches[0].screenX;\n            handleSwipeGesture();\n        });\n\n        function handleSwipeGesture() {\n            const swipeThreshold = 50; \n            if (touchEndX < touchStartX - swipeThreshold) {\n                \/\/ Swipe Left -> Next Slide\n                nextSlide();\n                resetSlider();\n            }\n            if (touchEndX > touchStartX + swipeThreshold) {\n                \/\/ Swipe Right -> Previous Slide\n                prevSlide();\n                resetSlider();\n            }\n        }\n\n        startSlider();\n    });\n<\/script>\n\n\n\n<style>\n    \/* ==========================================================================\n       SECTION \"MONTAGNE\" (Texte align\u00e9 \u00e0 gauche + Expand - Sans Citation)\n       ========================================================================== *\/\n\n    .norki-mountain {\n        padding: var(--section-pad-v-dt, 80px) var(--section-pad-h-dt, 5vw);\n        background-color: var(--color-norki-beige, #f8f0ea);\n        color: black;\n        position: relative;\n        z-index: 10;\n        box-sizing: border-box;\n    }\n\n    .norki-mountain * {\n        box-sizing: border-box;\n    }\n\n    .norki-mountain__content {\n        max-width: 680px;\n    }\n\n    \/* --- Accroche Italic (H1) --- *\/\n    .norki-mountain__intro {\n        font-size: clamp(1.4rem, 2vw, 28px);\n        line-height: 1.35;\n        margin-top: 0;\n        margin-bottom: 70px;\n        color: black;\n        font-weight: normal;\n    }\n\n    \/* --- Titre Principal (H2) --- *\/\n    .norki-mountain__title {\n        font-size: clamp(1.6rem, 2.5vw, 32px);\n        font-weight: 500;\n        margin-top: 0;\n        margin-bottom: 25px;\n        letter-spacing: -0.01em;\n        line-height: 1.2;\n    }\n\n    \/* --- Paragraphes --- *\/\n    .norki-mountain__text {\n        font-size: 0.95rem;\n        line-height: 1.5;\n        margin-top: 0;\n        margin-bottom: 25px;\n        max-width: 81%;\n    }\n\n    .norki-mountain__text strong {\n        font-weight: 600;\n    }\n\n    \/* --- ANIMATION DE VOTRE DIRECTION ARTISTIQUE POUR LES LIENS DU TEXTE --- *\/\n    .norki-mountain__inline-link {\n        color: inherit;\n        text-decoration: underline;\n        text-decoration-color: currentColor;\n        text-underline-offset: 3px;\n        text-decoration-thickness: 1px;\n        transition: text-decoration-color 0.3s ease, opacity 0.3s ease;\n        font-weight: 500;\n    }\n\n    .norki-mountain__inline-link:hover {\n        text-decoration-color: transparent;\n        opacity: 0.7;\n    }\n\n    \/* --- Syst\u00e8me d'expansion (Grid Transition) --- *\/\n    .norki-mountain__expand-wrapper {\n        display: grid;\n        grid-template-rows: 0fr;\n        transition: grid-template-rows 0.4s ease-out;\n    }\n\n    .norki-mountain__expand-wrapper.is-open {\n        grid-template-rows: 1fr;\n    }\n\n    .norki-mountain__expand-content {\n        overflow: hidden;\n    }\n\n    \/* Marges annul\u00e9es sur le dernier \u00e9l\u00e9ment pour \u00e9viter les sauts lors de l'animation *\/\n    .norki-mountain__expand-content > *:last-child {\n        margin-bottom: 25px; \n    }\n\n    \/* --- Bouton Voir Plus --- *\/\n    .norki-mountain__btn {\n        display: inline-block;\n        background: transparent;\n        border: none;\n        padding: 0;\n        cursor: pointer;\n        font-family: inherit;\n        font-size: 0.9rem;\n        color: black;\n        text-decoration: underline;\n        text-underline-offset: 4px;\n        text-decoration-thickness: 1px;\n        transition: opacity 0.3s ease, text-decoration-color 0.3s ease;\n        font-style: italic;\n    }\n\n    .norki-mountain__btn:hover {\n        text-decoration-color: transparent;\n        opacity: 0.6;\n    }\n\n    \/* ==========================================================\n       RESPONSIVE DESIGN (Tablette & Mobile)\n       ========================================================== *\/\n    @media (max-width: 1024px) {\n        .norki-mountain {\n            padding: var(--section-pad-v-tab, 60px) var(--section-pad-h-tab, 4vw);\n        }\n        \n        .norki-mountain__intro {\n            margin-bottom: 50px;\n        }\n    }\n\n    @media (max-width: 768px) {\n        .norki-mountain {\n            padding: var(--section-pad-v-mob, 50px) var(--section-pad-h-mob, 20px);\n        }\n\n        .norki-mountain__content {\n            max-width: 100%;\n        }\n\n        .norki-mountain__text {\n            max-width: 100%; \/* Le texte prend toute la largeur sur mobile *\/\n        }\n\n        .norki-mountain__intro {\n            font-size: 1.3rem;\n            margin-bottom: 40px;\n        }\n\n        .norki-mountain__title {\n            font-size: 1.5rem;\n            margin-bottom: 20px;\n        }\n    }\n<\/style>\n\n<section class=\"norki-mountain\">\n    <div class=\"norki-mountain__content\">\n        \n        <!-- Accroche en italique (H1) -->\n        <h1 class=\"norki-mountain__intro baskerville-italic-font\">\n            Mountain Chalets &#8211; Design at Summit\n        <\/h1>\n\n        <!-- Titre de section (H2) -->\n        <h2 class=\"norki-mountain__title avenirmedium-font\">\n            Our Finest Mountain Interiors\n        <\/h2>\n\n        <!-- Paragraphe principal visible -->\n        <p class=\"norki-mountain__text\">\n            For more than fifteen years, our Maison has cultivated a distinct expertise in \n            <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/\" class=\"norki-mountain__inline-link\" title=\"Discover our bespoke upholstery expertise\">upholstery<\/a> and \n            <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-soft-furnishings-curtains\/\" class=\"norki-mountain__inline-link\" title=\"Discover our bespoke soft furnishings\">bespoke interior textiles<\/a>, \n            enriched by our rare mastery of \n            <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/sewing-fur-epv\/\" class=\"norki-mountain__inline-link\" title=\"Discover our custom fur tailoring\">the art of fur tailoring<\/a>. \n            This unique combination of skills has naturally established our place in the demanding world of \n            <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/\" class=\"norki-mountain__inline-link\" title=\"Discover our mountain chalet realizations\">mountain interior design<\/a>.\n        <\/p>\n\n        <!-- Contenu masqu\u00e9 \/ d\u00e9pliable -->\n        <div class=\"norki-mountain__expand-wrapper\" id=\"extra-wrapper-mountain\">\n            <div class=\"norki-mountain__expand-content\">\n                <p class=\"norki-mountain__text\">\n                    Over the years, we have had the privilege of collaborating with leading international interior architects, creating fully bespoke projects throughout the European Alpine Arc and in the most prestigious mountain destinations around the world.\n                <\/p>\n                <p class=\"norki-mountain__text\">\n                    From contemporary chalets in Aspen to traditional alpine residences in Gstaad, from the log cabins of Bozeman to the iconic chalets of St. Moritz, our creations have travelled across borders and continents.\n                <\/p>\n                <p class=\"norki-mountain__text\">\n                    Each project reflects our Maison\u2019s deep affinity with the mountain lifestyle, where excellence, noble materials, and the French art of living come together with elegance and authenticity.\n                <\/p>\n            <\/div>\n        <\/div>\n\n        <!-- Bouton d'action -->\n        <button type=\"button\" class=\"norki-mountain__btn\" id=\"voir-plus-btn-mountain\" aria-expanded=\"false\" aria-controls=\"extra-wrapper-mountain\">Learn more<\/button>\n        \n    <\/div>\n<\/section>\n\n<script>\n    document.addEventListener('DOMContentLoaded', () => {\n        const btn = document.getElementById('voir-plus-btn-mountain'); \n        const wrapper = document.getElementById('extra-wrapper-mountain'); \n\n        if (btn && wrapper) {\n            btn.addEventListener('click', () => {\n                const isOpen = wrapper.classList.toggle('is-open');\n                \n                \/\/ Mise \u00e0 jour de l'accessibilit\u00e9\n                btn.setAttribute('aria-expanded', isOpen);\n\n                \/\/ Mise \u00e0 jour du texte\n                if (isOpen) {\n                    btn.textContent = 'Learn less';\n                } else {\n                    btn.textContent = 'Learn more';\n                }\n            });\n        }\n    });\n<\/script>\n\n\n\n<style>\n    \/* ==========================================================================\n       SECTION GALERIE R\u00c9ALISATIONS (Filtres + JS Dynamic Masonry)\n       ========================================================================== *\/\n\n    .norki-portfolio {\n        padding: var(--section-pad-v-dt, 80px) var(--section-pad-h-dt, 5vw);\n        background-color: var(--color-norki-beige, #f8f0ea);\n        color: black;\n        position: relative;\n        z-index: 10;\n        box-sizing: border-box;\n        padding-top: 0;\n    }\n\n    \/* --- 1. Menu de Filtres (Conteneur & Scroll) --- *\/\n    .norki-portfolio__filters-container {\n        position: relative;\n        width: calc(100% + var(--section-pad-h-dt, 5vw) * 2);\n        margin-left: calc(-1 * var(--section-pad-h-dt, 5vw));\n        margin-bottom: 60px;\n    }\n\n    .norki-portfolio__filters-wrapper {\n        width: 100%;\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n        scrollbar-width: none; \n        scroll-behavior: smooth;\n        padding: 5px var(--section-pad-h-dt, 5vw);\n        box-sizing: border-box;\n    }\n\n    .norki-portfolio__filters-wrapper::-webkit-scrollbar {\n        display: none; \n    }\n\n    .norki-portfolio__filters {\n        display: flex;\n        gap: 40px;\n        align-items: center;\n        min-width: max-content;\n    }\n\n    .norki-portfolio__filters::after {\n        content: '';\n        padding-right: var(--section-pad-h-dt, 5vw);\n    }\n\n    \/* --- Styles des boutons de filtre (Lien style DA) --- *\/\n    .norki-portfolio__filter-btn {\n        background: none;\n        border: none;\n        padding: 0;\n        font-family: var(--font-montserrat, sans-serif);\n        font-size: 1rem;\n        font-weight: 500;\n        color: black;\n        cursor: pointer;\n        text-decoration: underline;\n        text-decoration-color: transparent;\n        text-underline-offset: 4px;\n        text-decoration-thickness: 1px;\n        transition: text-decoration-color 0.3s ease, opacity 0.3s ease, color 0.3s ease;\n    }\n\n    \/* Inactifs *\/\n    .norki-portfolio__filter-btn:not(.is-active):hover {\n        text-decoration-color: rgba(0,0,0,0.7);\n        color: rgba(0,0,0,0.7);\n    }\n\n    \/* Actif *\/\n    .norki-portfolio__filter-btn.is-active {\n        text-decoration-color: black;\n        opacity: 1;\n        color: black;\n    }\n\n    .norki-portfolio__filters:hover .norki-portfolio__filter-btn.is-active {\n        text-decoration-color: transparent;\n    }\n\n    .norki-portfolio__filter-btn.is-active:hover {\n        text-decoration-color: transparent !important;\n        color: rgba(0,0,0,0.7);\n    }\n\n    \/* --- Fl\u00e8ches de navigation des filtres --- *\/\n    .norki-filter-arrow {\n        position: absolute;\n        top: 0;\n        bottom: 0;\n        width: calc(var(--section-pad-h-dt, 5vw) + 50px);\n        background: none;\n        border: none;\n        color: black;\n        z-index: 5;\n        cursor: pointer;\n        opacity: 0;\n        pointer-events: none;\n        transition: opacity 0.3s ease;\n        display: flex;\n        align-items: center;\n    }\n\n    .norki-filter-arrow.is-visible {\n        opacity: 1;\n        pointer-events: auto;\n    }\n\n    .norki-filter-arrow--left {\n        left: 0;\n        justify-content: flex-start;\n        padding-left: var(--section-pad-h-dt, 5vw);\n        background: linear-gradient(to right, var(--color-norki-beige, #f8f0ea) 60%, rgba(248, 240, 234, 0) 100%);\n    }\n\n    .norki-filter-arrow--right {\n        right: 0;\n        justify-content: flex-end;\n        padding-right: var(--section-pad-h-dt, 5vw);\n        background: linear-gradient(to left, var(--color-norki-beige, #f8f0ea) 60%, rgba(248, 240, 234, 0) 100%);\n    }\n\n    .norki-filter-arrow svg {\n        width: 24px;\n        height: 24px;\n        fill: none;\n        stroke: currentColor;\n        stroke-width: 1.5;\n        transition: transform 0.2s ease;\n    }\n\n    .norki-filter-arrow--left:hover svg { transform: translateX(-3px); }\n    .norki-filter-arrow--right:hover svg { transform: translateX(3px); }\n\n    \/* --- 2. Grille Flex Masonry --- *\/\n    .norki-portfolio__masonry {\n        display: flex;\n        gap: 80px; \n        align-items: flex-start;\n    }\n\n    .norki-portfolio__column {\n        flex: 1;\n        display: flex;\n        flex-direction: column;\n    }\n\n    .norki-portfolio__column--right {\n        padding-top: 140px; \n    }\n\n    .norki-portfolio__item {\n        display: block;\n        text-decoration: none;\n        color: inherit;\n        position: relative;\n        opacity: 0;\n        transform: translateY(30px);\n        transition: opacity 0.8s ease, transform 0.8s ease;\n    }\n\n    .norki-portfolio__item.is-visible {\n        opacity: 1;\n        transform: translateY(0);\n    }\n\n    .norki-portfolio__img-wrapper {\n        width: 100%;\n        overflow: hidden;\n        background-color: #e5dfd9;\n    }\n\n    .norki-portfolio__img {\n        width: 100%;\n        height: auto;\n        display: block;\n        transition: transform 0.6s ease;\n    }\n\n    .norki-portfolio__item:hover .norki-portfolio__img {\n        transform: scale(1.03); \n    }\n\n    .norki-portfolio__caption {\n        margin: 12px 0 0 0;\n        font-family: var(--font-montserrat, sans-serif);\n        font-size: 1rem;\n        line-height: 1.3;\n        letter-spacing: 0.02em;\n    }\n\n    .norki-portfolio__caption span {\n        font-family: \"LibreBaskervilleItalic\", sans-serif;\n    }\n\n    \/* --- 3. Actions --- *\/\n    .norki-portfolio__actions {\n        text-align: center;\n        margin-top: 50px;\n    }\n\n    .norki-portfolio__load-btn {\n        display: inline-flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 8px;\n        background: none;\n        border: none;\n        padding: 0;\n        color: black;\n        font-family: var(--font-montserrat, sans-serif);\n        cursor: pointer;\n        transition: opacity 0.3s ease;\n    }\n\n    .norki-portfolio__load-dots {\n        font-size: 1.8rem;\n        line-height: 0.5;\n        letter-spacing: 2px;\n        margin-bottom: 5px;\n    }\n\n    .norki-portfolio__load-text {\n        font-size: 0.95rem;\n        text-decoration: underline;\n        text-underline-offset: 4px;\n        text-decoration-thickness: 1px;\n    }\n\n    .norki-portfolio__load-btn:hover {\n        opacity: 0.6;\n    }\n\n    .norki-portfolio__load-btn.is-loading {\n        opacity: 0.5;\n        pointer-events: none;\n        cursor: wait;\n    }\n\n    .norki-portfolio__source {\n        display: none;\n    }\n\n    \/* --- 4. Responsive --- *\/\n    @media (max-width: 1024px) {\n        .norki-portfolio {\n            padding: var(--section-pad-v-tab, 60px) var(--section-pad-h-tab, 4vw);\n            padding-top: 0;\n        }\n        .norki-portfolio__masonry { gap: 40px; }\n        .norki-portfolio__column--right { padding-top: 80px; }\n    }\n\n    @media (max-width: 768px) {\n        .norki-portfolio {\n            padding: var(--section-pad-v-mob, 50px) var(--section-pad-h-mob, 20px);\n            padding-top: 0;\n        }\n\n        .norki-portfolio__filter-btn { font-size: 0.95rem; }\n        .norki-portfolio__filter-btn.is-active { font-weight: 600; }\n\n        .norki-portfolio__filters-container {\n            width: calc(100% + var(--section-pad-h-mob, 20px) * 2);\n            margin-left: calc(-1 * var(--section-pad-h-mob, 20px));\n            margin-bottom: 40px;\n        }\n\n        .norki-portfolio__filters-wrapper { padding: 5px var(--section-pad-h-mob, 20px); }\n        .norki-portfolio__filters::after { padding-right: var(--section-pad-h-mob, 20px); }\n        .norki-filter-arrow { width: calc(var(--section-pad-h-mob, 20px) + 35px); }\n        .norki-filter-arrow--left { padding-left: calc(var(--section-pad-h-mob, 20px) - 5px); }\n        .norki-filter-arrow--right { padding-right: calc(var(--section-pad-h-mob, 20px) - 5px); }\n\n        .norki-portfolio__masonry { display: block; }\n        .norki-portfolio__column--right { display: none; }\n        .norki-portfolio__item { margin-bottom: 60px !important; }\n    }\n<\/style>\n\n<section class=\"norki-portfolio\">\n    \n    <!-- Filter Menu with navigation arrows -->\n    <div class=\"norki-portfolio__filters-container\">\n        <!-- Left Arrow -->\n        <button class=\"norki-filter-arrow norki-filter-arrow--left\" aria-label=\"Scroll left\">\n            <svg viewBox=\"0 0 24 24\"><path d=\"M15 18l-6-6 6-6\"><\/path><\/svg>\n        <\/button>\n\n        <!-- Scrolling Wrapper -->\n        <div class=\"norki-portfolio__filters-wrapper\" id=\"norki-filters-wrapper\">\n            <nav class=\"norki-portfolio__filters\">\n                <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/\" class=\"norki-portfolio__filter-btn\" title=\"View all our realizations\">All Realizations<\/a>\n                <button class=\"norki-portfolio__filter-btn is-active\" aria-current=\"page\" title=\"Viewing our mountain realizations\">Mountain<\/button>\n                <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/beachfront-projects\/\" class=\"norki-portfolio__filter-btn\" title=\"View our beachfront realizations\">Beachfront<\/a>\n                <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/urban-projects\/\" class=\"norki-portfolio__filter-btn\" title=\"View our urban realizations\">Urban<\/a>\n                <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/hotel-projects\/\" class=\"norki-portfolio__filter-btn\" title=\"View our hotel realizations\">Hotel<\/a>\n            <\/nav>\n        <\/div>\n\n        <!-- Right Arrow -->\n        <button class=\"norki-filter-arrow norki-filter-arrow--right\" aria-label=\"Scroll right\">\n            <svg viewBox=\"0 0 24 24\"><path d=\"M9 18l6-6-6-6\"><\/path><\/svg>\n        <\/button>\n    <\/div>\n\n    <!-- Masonry Grid -->\n    <div class=\"norki-portfolio__masonry\" id=\"norki-masonry-grid\">\n        <div class=\"norki-portfolio__column norki-portfolio__column--left\" id=\"norki-col-left\"><\/div>\n        <div class=\"norki-portfolio__column norki-portfolio__column--right\" id=\"norki-col-right\"><\/div>\n    <\/div>\n\n    <!-- Minimalist Load More Button -->\n    <div class=\"norki-portfolio__actions\">\n        <button id=\"norki-load-more\" class=\"norki-portfolio__load-btn\">\n            <span class=\"norki-portfolio__load-dots\">&#8230;<\/span>\n            <span class=\"norki-portfolio__load-text\">Load more projects<\/span>\n        <\/button>\n    <\/div>\n\n    <!-- MOUNTAIN DATA SOURCE -->\n    <div class=\"norki-portfolio__source\" id=\"norki-items-source\">\n        \n        <a href=\"#\" class=\"norki-portfolio__item\">\n            <div class=\"norki-portfolio__img-wrapper\">\n                <img data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/Custom-daybed-in-contemporary-aspen-chalet.jpg\" alt=\"Bespoke daybed in a contemporary Aspen chalet by Norki\" class=\"norki-portfolio__img\">\n            <\/div>\n            <p class=\"norki-portfolio__caption avenirmedium-font\">Bespoke Realization \u2013 <span>Chalet in Aspen<\/span><\/p>\n        <\/a>\n\n        <a href=\"#\" class=\"norki-portfolio__item\">\n            <div class=\"norki-portfolio__img-wrapper\">\n                <img data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/Tapis-Norki-Megeve-Interieur-Chalet.jpg\" alt=\"French Alps apartment interior design\" class=\"norki-portfolio__img\">\n            <\/div>\n            <p class=\"norki-portfolio__caption avenirmedium-font\">Bespoke Realization \u2013 <span>French Alps apartment<\/span><\/p>\n        <\/a>\n\n        <a href=\"#\" class=\"norki-portfolio__item\">\n            <div class=\"norki-portfolio__img-wrapper\">\n                <img data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/interior-design-the-lonsdaleite-premiere-chalet.jpg\" alt=\"James Bond-style contemporary chalet in Saint-Moritz\" class=\"norki-portfolio__img\">\n            <\/div>\n            <p class=\"norki-portfolio__caption avenirmedium-font\">James Bond-Style Contemporary Chalet \u2013 <span>Chalet in Saint-Moritz<\/span><\/p>\n        <\/a>\n\n        <a href=\"#\" class=\"norki-portfolio__item\">\n            <div class=\"norki-portfolio__img-wrapper\">\n                <img data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/Chalet-terrace-decoration-Gstaad.jpg\" alt=\"Family chalet terrace decoration in Gstaad\" class=\"norki-portfolio__img\">\n            <\/div>\n            <p class=\"norki-portfolio__caption avenirmedium-font\">Family Chalet \u2013 <span>Chalet in Gstaad<\/span><\/p>\n        <\/a>\n\n        <a href=\"#\" class=\"norki-portfolio__item\">\n            <div class=\"norki-portfolio__img-wrapper\">\n                <img data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/Bespoke-Objects-in-Megeve-Chalet.jpg\" alt=\"Private chalet in Meg\u00e8ve\" class=\"norki-portfolio__img\">\n            <\/div>\n            <p class=\"norki-portfolio__caption avenirmedium-font\">Bespoke Realization \u2013 <span>Private Chalet in Meg\u00e8ve<\/span><\/p>\n        <\/a>\n\n        <a href=\"#\" class=\"norki-portfolio__item\">\n            <div class=\"norki-portfolio__img-wrapper\">\n                <img data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/Mink-Salon-Royere-Projet-Jacques-Garcia.jpg\" alt=\"Jacques Garcia chalet project in Saint-Moritz\" class=\"norki-portfolio__img\">\n            <\/div>\n            <p class=\"norki-portfolio__caption avenirmedium-font\">Bespoke Realization \u2013 <span>Chalet in Saint-Moritz<\/span><\/p>\n        <\/a>\n\n        <a href=\"#\" class=\"norki-portfolio__item\">\n            <div class=\"norki-portfolio__img-wrapper\">\n                <img data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/06\/Finn-Julh-Pelican-Agneau-chalet-v2.png\" alt=\"Grau Roig Palace in Andorra\" class=\"norki-portfolio__img\">\n            <\/div>\n            <p class=\"norki-portfolio__caption avenirmedium-font\">Bespoke Realization \u2013 <span>Grau Roig Palace in Andorra<\/span><\/p>\n        <\/a>\n\n    <\/div>\n\n<\/section>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n    const filtersWrapper = document.getElementById('norki-filters-wrapper');\n    const arrowLeft = document.querySelector('.norki-filter-arrow--left');\n    const arrowRight = document.querySelector('.norki-filter-arrow--right');\n\n    const updateFilterArrows = () => {\n        if (!filtersWrapper) return;\n        const scrollLeft = Math.ceil(filtersWrapper.scrollLeft);\n        const scrollWidth = filtersWrapper.scrollWidth;\n        const clientWidth = filtersWrapper.clientWidth;\n        if (scrollLeft > 5) arrowLeft.classList.add('is-visible');\n        else arrowLeft.classList.remove('is-visible');\n        if (scrollLeft + clientWidth < scrollWidth - 5) arrowRight.classList.add('is-visible');\n        else arrowRight.classList.remove('is-visible');\n    };\n\n    if (filtersWrapper) {\n        filtersWrapper.addEventListener('scroll', updateFilterArrows);\n        window.addEventListener('resize', updateFilterArrows);\n        setTimeout(updateFilterArrows, 100);\n        arrowLeft.addEventListener('click', () => filtersWrapper.scrollBy({ left: -250, behavior: 'smooth' }));\n        arrowRight.addEventListener('click', () => filtersWrapper.scrollBy({ left: 250, behavior: 'smooth' }));\n    }\n\n    const sourceItems = Array.from(document.querySelectorAll('#norki-items-source .norki-portfolio__item'));\n    const colLeft = document.getElementById('norki-col-left');\n    const colRight = document.getElementById('norki-col-right');\n    const loadMoreBtn = document.getElementById('norki-load-more');\n    const loadMoreText = loadMoreBtn ? loadMoreBtn.querySelector('.norki-portfolio__load-text') : null;\n    \n    let currentIndex = 0;\n    const itemsPerLoad = 4;\n\n    function getDynamicMargin(ratio) {\n        if (window.innerWidth <= 768) return 60;\n        if (ratio <= 0.8) return 180; \n        else if (ratio >= 1.2) return 110;  \n        else return 140;  \n    }\n\n    const processNextItem = (item) => {\n        return new Promise((resolve) => {\n            const img = item.querySelector('.norki-portfolio__img');\n            const src = img.getAttribute('data-src');\n            const placeItemInDOM = () => {\n                const ratio = img.naturalWidth \/ img.naturalHeight;\n                const margin = getDynamicMargin(ratio);\n                item.style.marginBottom = margin + 'px';\n                if (window.innerWidth <= 768) colLeft.appendChild(item);\n                else {\n                    if (colLeft.offsetHeight <= colRight.offsetHeight) colLeft.appendChild(item);\n                    else colRight.appendChild(item);\n                }\n                requestAnimationFrame(() => setTimeout(() => item.classList.add('is-visible'), 50));\n                resolve();\n            };\n            const preloadImg = new Image();\n            preloadImg.onload = () => {\n                img.src = src;\n                img.removeAttribute('data-src');\n                placeItemInDOM();\n            };\n            preloadImg.onerror = () => { img.src = src; placeItemInDOM(); };\n            preloadImg.src = src;\n        });\n    };\n\n    const loadItems = async () => {\n        if (!loadMoreBtn) return;\n        loadMoreBtn.classList.add('is-loading');\n        if(loadMoreText) loadMoreText.textContent = \"Loading...\";\n        const endIndex = Math.min(currentIndex + itemsPerLoad, sourceItems.length);\n        for (let i = currentIndex; i < endIndex; i++) {\n            await processNextItem(sourceItems[i]);\n        }\n        currentIndex = endIndex;\n        loadMoreBtn.classList.remove('is-loading');\n        if(loadMoreText) loadMoreText.textContent = \"Load more projects\";\n        if (currentIndex >= sourceItems.length) loadMoreBtn.style.display = 'none';\n    };\n\n    loadItems();\n    if(loadMoreBtn) loadMoreBtn.addEventListener('click', (e) => { e.preventDefault(); loadItems(); });\n});\n<\/script>\n\n\n\n<style>\n    \/* ==========================================================================\n       SECTION CTA ARCHITECTE (Centr\u00e9e)\n       ========================================================================== *\/\n\n    .norki-cta-archi {\n        padding: var(--section-pad-v-dt, 80px) var(--section-pad-h-dt, 5vw);\n        background-color: var(--color-norki-beige, #f8f0ea);\n        color: black;\n        position: relative;\n        z-index: 10;\n        box-sizing: border-box;\n        text-align: center;\n        display: flex;\n        justify-content: center;\n    }\n\n    .norki-cta-archi__wrapper {\n        max-width: 650px; \/* Force les retours \u00e0 la ligne du paragraphe comme sur la maquette *\/\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 30px; \/* Espace r\u00e9gulier entre le titre, le texte et le bouton *\/\n    }\n\n    \/* --- Titres --- *\/\n    .norki-cta-archi__title {\n        margin: 0;\n        line-height: 1.25;\n        letter-spacing: -0.01em;\n    }\n\n    .norki-cta-archi__title-sans {\n        display: block;\n        font-size: clamp(1.4rem, 2.2vw, 30px);\n        font-weight: 500;\n        margin-bottom: 5px;\n    }\n\n    .norki-cta-archi__title-serif {\n        display: block;\n        font-size: clamp(1.6rem, 2.5vw, 34px);\n        font-weight: 400;\n    }\n\n    \/* --- Paragraphe --- *\/\n    .norki-cta-archi__text {\n        font-size: 0.95rem;\n        line-height: 1.5;\n        margin: 0;\n    }\n\n    \/* --- Liens int\u00e9gr\u00e9s (Design System) --- *\/\n    .norki-cta-archi__inline-link {\n        color: inherit;\n        text-decoration: underline;\n        text-decoration-color: currentColor;\n        text-underline-offset: 3px;\n        text-decoration-thickness: 1px;\n        transition: text-decoration-color 0.3s ease, opacity 0.3s ease;\n    }\n\n    .norki-cta-archi__inline-link:hover {\n        text-decoration-color: transparent;\n        opacity: 0.7;\n    }\n\n    \/* --- Bouton Secondaire --- *\/\n    .norki-cta-archi__btn {\n        display: inline-flex;\n        justify-content: center;\n        align-items: center;\n        padding: 4px 35px;\n        text-decoration: none;\n        font-size: 0.9rem;\n        font-weight: 500;\n        color: black;\n        background-color: transparent;\n        border: 1px solid black;\n        transition: all 0.3s ease;\n        margin-top: 10px; \/* L\u00e9ger espacement suppl\u00e9mentaire avec le texte *\/\n    }\n\n    .norki-cta-archi__btn:hover {\n        background-color: black;\n        color: white;\n    }\n\n    \/* --- Responsive --- *\/\n    @media (max-width: 1024px) {\n        .norki-cta-archi {\n            padding: var(--section-pad-v-tab, 60px) var(--section-pad-h-tab, 4vw);\n        }\n        \n        .norki-cta-archi__wrapper {\n            gap: 25px;\n        }\n    }\n\n    @media (max-width: 768px) {\n        .norki-cta-archi {\n            padding: var(--section-pad-v-mob, 50px) var(--section-pad-h-mob, 20px);\n        }\n\n        .norki-cta-archi__wrapper {\n            gap: 20px;\n        }\n\n        .norki-cta-archi__title-sans {\n            font-size: 1.3rem;\n        }\n\n        .norki-cta-archi__title-serif {\n            font-size: 1.45rem;\n        }\n    }\n<\/style>\n\n<section class=\"norki-cta-archi\">\n    <div class=\"norki-cta-archi__wrapper\">\n        \n        <!-- Titles -->\n        <h2 class=\"norki-cta-archi__title\">\n            <span class=\"norki-cta-archi__title-sans avenirmedium-font\">Are you an architect with a bespoke project<\/span>\n            <span class=\"norki-cta-archi__title-serif baskerville-italic-font\">for rugs, throws, cushions, or custom <span style=\"white-space: nowrap;\" class=\"baskerville-italic-font\">furniture?<\/span><\/span>\n        <\/h2>\n\n        <!-- Descriptive Text -->\n        <p class=\"norki-cta-archi__text\">\n            To <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/contact-us\/\" class=\"norki-cta-archi__inline-link\" title=\"Contact us to receive a personalized quote\">receive a personalized quote<\/a> for the creation of <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/high-end-interior-design\/\" class=\"norki-cta-archi__inline-link\" title=\"Discover our bespoke furniture and soft furnishings\">bespoke pieces<\/a> or to obtain more information about our <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/luxury-upholstery-installation-services\/\" class=\"norki-cta-archi__inline-link\" title=\"Learn more about our fitting and installation services\">fitting and installation services<\/a>, our <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-interior-design-studio-furniture-rugs\/\" class=\"norki-cta-archi__inline-link\" title=\"Discover our integrated Design Studio\">specialized teams<\/a> will be delighted to assist you.\n        <\/p>\n\n        <!-- Action Button -->\n        <a href=\"https:\/\/api.whatsapp.com\/send?phone=33647923857\" class=\"norki-cta-archi__btn\" target=\"_blank\" rel=\"noopener\" title=\"Contact our sales team on WhatsApp\">Whatsapp us<\/a>\n        \n    <\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Bespoke Realization French Alps Apartment James Bond-Style Contemporary Chalet Chalet in Saint-Moritz Bespoke Realization Chalet in Saint-Moritz Discover Mountain Chalets &#8211; Design at Summit Our Finest Mountain Interiors For more than fifteen years, our Maison has cultivated a distinct expertise in upholstery and bespoke interior textiles, enriched by our rare mastery of the art of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":4277,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-page-builder-no-header-footer.php","meta":{"_uag_custom_page_level_css":"\/* A COPIER COLLER *\/\n\n:root {\n\t--wp--preset--color--contrast: black;\n    \/* Paddings de section standards *\/\n    --section-pad-v-dt: 80px;\n    --section-pad-h-dt: 5vw;\n    \n    --section-pad-v-tab: 50px;\n    --section-pad-h-tab: 4vw;\n    \n    --section-pad-v-mob: 40px;\n    --section-pad-h-mob: 20px;\n\n    \/* Couleurs  Polices *\/\n    --color-norki-brown: #50423d;\n    --color-norki-beige: #f8f0ea;\n    --font-baskerville: 'Baskerville', serif;\n    --font-montserrat: 'Montserrat', sans-serif;\n}\n\n@font-face {\n  font-family: 'LibreBaskervilleItalic';\n  src: url('\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/fonts\/Libre-Baskerville\/LibreBaskerville-Italic.ttf') format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n\n@font-face {\n  font-family: 'Bestermind';\n  src: url('\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/fonts\/Bestermind\/BestermindRegular.ttf') format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n\n@font-face {\n  font-family: 'AvenirBook';\n  src: url('\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/fonts\/Avenir\/Avenir-Book-01.otf') format('opentype');\n  font-weight: normal;\n  font-style: normal;\n}\n\n\n@font-face {\n  font-family: 'AvenirMedium';\n  src: url('\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/fonts\/Avenir\/Avenir-Medium-09.otf') format('opentype');\n  font-weight: normal;\n  font-style: normal;\n}\n\n@font-face {\n  font-family: 'AvenirBookOblique';\n  src: url('\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/fonts\/Avenir\/Avenir-BookOblique-02.otf') format('opentype');\n  font-weight: normal;\n  font-style: normal;\n}\n\n@font-face {\n  font-family: 'Pertili';\n  src: url('\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/fonts\/PERTILI.TTF') format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n\n.pertili-font {\n\tfont-family: \"Pertili\", sans-serif !important;\n}\n\n.bestermind-font {\n\tfont-family: \"Bestermind\", sans-serif !important;\n}\n\n.avenirbookoblique-font {\n\tfont-family: \"AvenirBookOblique\", sans-serif !important;\n}\n\n.baskerville-italic-font {\n\tfont-family: \"LibreBaskervilleItalic\", sans-serif !important;\n}\n\n.avenirmedium-font {\n\tfont-family: \"AvenirMedium\", sans-serif !important;\n}\n\nbody:not(.wp-admin) * {\n  font-family: \"AvenirBook\", sans-serif;\n}\n\nbody {\n\tbackground-color: #f8f0ea !important;\n\tcolor: black;\n}\n\nh2 {\n\tfont-family: \"AvenirMedium\", sans-serif !important;\n}\n\n.components-sandbox {\n\tmax-height: 500px;\n}\n\n\/* A COPIER COLLER END *\/","_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-4283","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mountain Projects | Interior Creations | Maison NORKI<\/title>\n<meta name=\"description\" content=\"Discover Norki\u2019s mountain projects: bespoke rugs, furniture, and upholstery for exceptional chalets and alpine residences.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mountain Projects | Interior Creations | Maison NORKI\" \/>\n<meta property=\"og:description\" content=\"Discover Norki\u2019s mountain projects: bespoke rugs, furniture, and upholstery for exceptional chalets and alpine residences.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/\" \/>\n<meta property=\"og:site_name\" content=\"Norki\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/NorkiDecoration\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-10T13:56:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/06\/Tapis-Norki-Megeve-Interieur-Chalet-v2.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/\",\"url\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/\",\"name\":\"Mountain Projects | Interior Creations | Maison NORKI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/sur-mesure\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/norki.com\\\/sur-mesure\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Tapis-Norki-Megeve-Interieur-Chalet-v2.png\",\"datePublished\":\"2026-06-08T10:34:17+00:00\",\"dateModified\":\"2026-06-10T13:56:38+00:00\",\"description\":\"Discover Norki\u2019s mountain projects: bespoke rugs, furniture, and upholstery for exceptional chalets and alpine residences.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/#primaryimage\",\"url\":\"https:\\\/\\\/norki.com\\\/sur-mesure\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Tapis-Norki-Megeve-Interieur-Chalet-v2.png\",\"contentUrl\":\"https:\\\/\\\/norki.com\\\/sur-mesure\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Tapis-Norki-Megeve-Interieur-Chalet-v2.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.norki.com\\\/sur-mesure\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Our Projects\",\"item\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Mountain\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.norki.com\\\/sur-mesure\\\/#website\",\"url\":\"https:\\\/\\\/www.norki.com\\\/sur-mesure\\\/\",\"name\":\"Norki\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.norki.com\\\/sur-mesure\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mountain Projects | Interior Creations | Maison NORKI","description":"Discover Norki\u2019s mountain projects: bespoke rugs, furniture, and upholstery for exceptional chalets and alpine residences.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/","og_locale":"fr_FR","og_type":"article","og_title":"Mountain Projects | Interior Creations | Maison NORKI","og_description":"Discover Norki\u2019s mountain projects: bespoke rugs, furniture, and upholstery for exceptional chalets and alpine residences.","og_url":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/","og_site_name":"Norki","article_publisher":"https:\/\/facebook.com\/NorkiDecoration","article_modified_time":"2026-06-10T13:56:38+00:00","og_image":[{"url":"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/06\/Tapis-Norki-Megeve-Interieur-Chalet-v2.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/","url":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/","name":"Mountain Projects | Interior Creations | Maison NORKI","isPartOf":{"@id":"https:\/\/www.norki.com\/sur-mesure\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/#primaryimage"},"image":{"@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/#primaryimage"},"thumbnailUrl":"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/06\/Tapis-Norki-Megeve-Interieur-Chalet-v2.png","datePublished":"2026-06-08T10:34:17+00:00","dateModified":"2026-06-10T13:56:38+00:00","description":"Discover Norki\u2019s mountain projects: bespoke rugs, furniture, and upholstery for exceptional chalets and alpine residences.","breadcrumb":{"@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/#primaryimage","url":"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/06\/Tapis-Norki-Megeve-Interieur-Chalet-v2.png","contentUrl":"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/06\/Tapis-Norki-Megeve-Interieur-Chalet-v2.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.norki.com\/sur-mesure\/fr\/"},{"@type":"ListItem","position":2,"name":"Our Projects","item":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/"},{"@type":"ListItem","position":3,"name":"Mountain"}]},{"@type":"WebSite","@id":"https:\/\/www.norki.com\/sur-mesure\/#website","url":"https:\/\/www.norki.com\/sur-mesure\/","name":"Norki","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.norki.com\/sur-mesure\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"webmaster","author_link":"https:\/\/www.norki.com\/sur-mesure\/author\/webmaster\/"},"uagb_comment_info":0,"uagb_excerpt":"Bespoke Realization French Alps Apartment James Bond-Style Contemporary Chalet Chalet in Saint-Moritz Bespoke Realization Chalet in Saint-Moritz Discover Mountain Chalets &#8211; Design at Summit Our Finest Mountain Interiors For more than fifteen years, our Maison has cultivated a distinct expertise in upholstery and bespoke interior textiles, enriched by our rare mastery of the art of\u2026","_links":{"self":[{"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/4283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/comments?post=4283"}],"version-history":[{"count":5,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/4283\/revisions"}],"predecessor-version":[{"id":4549,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/4283\/revisions\/4549"}],"up":[{"embeddable":true,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/4277"}],"wp:attachment":[{"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/media?parent=4283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/categories?post=4283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/tags?post=4283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}