{"id":4298,"date":"2026-06-08T13:01:07","date_gmt":"2026-06-08T11:01:07","guid":{"rendered":"https:\/\/www.norki.com\/sur-mesure\/?page_id=4298"},"modified":"2026-07-07T13:04:33","modified_gmt":"2026-07-07T11:04:33","slug":"bespoke-upholstery-services","status":"publish","type":"page","link":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/","title":{"rendered":"Upholstery"},"content":{"rendered":"\n<style>\n        :root {\n            --color-text: #ffffff;\n            --shadow-text: 0 2px 8px rgba(0, 0, 0, 0.4);\n        }\n\n\/* ==========================================================================\n   FIX REPAINT MOBILE (SAFARI\/iOS)\n   Force le rendu GPU pour \u00e9viter que le Hero sticky ne repasse par-dessus\n   ========================================================================== *\/\n.savoir-faire-tapisserie,\n.norki-quote-image-wrapper,\n.norki-renovation,\n.norki-section {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0);\n    -webkit-backface-visibility: hidden;\n    backface-visibility: hidden;\n    will-change: transform;\n}\n.hero-banner-wrapper {\n    position: fixed; \/* Remplace le 'sticky' *\/\n    top: 0;\n    left: 0;\n    z-index: 0;\n    width: 100%;\n    height: 100vh; \/* Fallback *\/\n    height: 100lvh; \/* Utilise la hauteur maximale du t\u00e9l\u00e9phone *\/\n    overflow: hidden;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n        \/* Image de fond en cover *\/\n        .hero-bg-image {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            object-fit: cover;\n            object-position: center center;\n            z-index: 1;\n            transform: scale(1.2); \/* \u00c9tat initial zoom\u00e9 *\/\n            will-change: transform;\n        }\n\n        \/* Animation de d\u00e9zoom activ\u00e9e par JS au chargement *\/\n        .hero-banner-wrapper.is-loaded .hero-bg-image {\n            animation: dezoomHero 3s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;\n        }\n\n        @keyframes dezoomHero {\n            0% { transform: scale(1.2); }\n            100% { transform: scale(1); }\n        }\n\n        \/* Voile assombrissant l\u00e9ger pour garantir la lisibilit\u00e9 du texte *\/\n        .hero-overlay {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            background: linear-gradient(\n                to bottom,\n                rgba(0, 0, 0, 0.2) 0%,\n                rgba(0, 0, 0, 0.3) 50%,\n                rgba(0, 0, 0, 0.2) 100%\n            );\n            z-index: 2;\n        }\n\n        \/* =========================================\n            3. CONTENU CENTRAL (TEXTE & ICONE)\n            ========================================= *\/\n        .hero-content {\n            position: relative;\n            z-index: 3;\n            text-align: center;\n            color: var(--color-text);\n            padding: 0 20px;\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n        }\n\n        .hero-title {\n            margin: 0;\n            padding: 0;\n        }\n\n        .title-sans {\n            color: white;\n            display: block;\n            font-family: var(--font-montserrat, sans-serif); \/* Utilisation de la variable globale *\/\n            font-size: 2.2rem;\n            font-weight: 400;\n            letter-spacing: 0.05em;\n            line-height: 1.2;\n            margin-bottom: 0.3rem;\n            text-shadow: var(--shadow-text);\n        }\n\n        .title-serif {\n            display: block;\n            font-size: 2.4rem;\n            font-weight: 400;\n            line-height: 1.2;\n            margin-bottom: 1.5rem;\n            text-shadow: var(--shadow-text);\n            color: white;\n        }\n\n        \/* Effet de curseur pour la machine \u00e0 \u00e9crire *\/\n        .typewriter-cursor::after {\n            content: '|';\n            animation: blinkCaret 0.8s step-end infinite;\n            font-weight: 300;\n            margin-left: 2px;\n        }\n        \n        @keyframes blinkCaret {\n            0%, 100% { opacity: 1; }\n            50% { opacity: 0; }\n        }\n\n        \/* Picto Image sp\u00e9cifique Tapisserie *\/\n        .hero-icon-img {\n            width: 130px;\n            height: auto;\n            filter: drop-shadow(0px 2px 4px rgba(0,0,0,0.4));\n            opacity: 0; \/* Masqu\u00e9 initialement, affich\u00e9 apr\u00e8s la machine \u00e0 \u00e9crire *\/\n            transform: translateY(10px);\n            transition: opacity 0.8s ease, transform 0.8s ease;\n        }\n\n        .hero-icon-img.is-visible {\n            opacity: 1;\n            transform: translateY(0);\n        }\n\n        \/* =========================================\n            4. RESPONSIVE DESIGN (TABLETTE & MOBILE)\n            ========================================= *\/\n        @media (max-width: 1024px) {\n            .title-sans { font-size: 1.4rem; }\n            .title-serif { font-size: 2rem; }\n            .hero-icon-img { width: 120px; }\n        }\n\n        @media (max-width: 768px) {\n            .title-sans { font-size: 1.4rem; }\n            .title-serif { font-size: 1.4rem; margin-bottom: 1.2rem; }\n            .hero-icon-img { width: 110px; }\n        }\n\n        @media (max-width: 480px) {\n            .title-sans { font-size: 1.1rem; letter-spacing: 0.02em; }\n            .title-serif { font-size: 1.3rem; }\n        }\n    <\/style>\n\n    <div class=\"hero-banner-wrapper\">\n        \n        <!-- IMAGE DE FOND -->\n        <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/tapiserie-ameublement-tradition-francaise-norki.jpg\" alt=\"Craftswoman using an upholstery hammer on webbing canvas\" class=\"hero-bg-image\" fetchpriority=\"high\" loading=\"eager\" onerror=\"this.src='https:\/\/images.unsplash.com\/photo-1596484552834-6a58f850d0a1?q=80&amp;w=2000&amp;auto=format&amp;fit=crop';\">\n        \n        <!-- OVERLAY SOMBRE -->\n        <div class=\"hero-overlay\" aria-hidden=\"true\"><\/div>\n\n        <!-- CONTENU CENTRAL ANIM\u00c9 -->\n        <div class=\"hero-content\">\n            <h1 class=\"hero-title\">\n                <span class=\"title-sans\">Bespoke Upholstery<\/span>\n                <span class=\"title-serif baskerville-italic-font\">French Traditional Craftsmanship<\/span>\n            <\/h1>\n            \n            <!-- PICTOGRAMME -->\n            <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/Picto_Tapisserie-Ameublement.png\" alt=\"Bespoke Upholstery Pictogram\" class=\"hero-icon-img\" loading=\"lazy\" onerror=\"this.style.display='none';\">\n        <\/div>\n    <\/div>\n\n    <!-- SCRIPT JS POUR D\u00c9CLENCHER LES ANIMATIONS (D\u00e9zoom + Machine \u00e0 \u00e9crire) -->\n    <script>\n        document.addEventListener(\"DOMContentLoaded\", function() {\n            const titleSans = document.querySelector('.title-sans');\n            const titleSerif = document.querySelector('.title-serif');\n            \n            \/\/ Stockage du texte pour la machine \u00e0 \u00e9crire\n            if(titleSans && titleSerif) {\n                titleSans.dataset.text = titleSans.textContent.trim();\n                titleSerif.dataset.text = titleSerif.textContent.trim();\n                \n                titleSans.textContent = '';\n                titleSerif.textContent = '';\n            }\n        });\n\n        window.addEventListener(\"load\", function() {\n            \/\/ 1. D\u00c9ZOOM DE L'IMAGE HERO\n            const heroWrapper = document.querySelector('.hero-banner-wrapper');\n            if (heroWrapper) {\n                heroWrapper.classList.add('is-loaded');\n            }\n\n            \/\/ 2. MACHINE A \u00c9CRIRE SUR LE HERO\n            const titleSans = document.querySelector('.title-sans');\n            const titleSerif = document.querySelector('.title-serif');\n            const icon = document.querySelector('.hero-icon-img');\n\n            if(titleSans && titleSerif) {\n                const textSans = titleSans.dataset.text;\n                const textSerif = titleSerif.dataset.text;\n                const speed = 40; \n\n                let i = 0;\n                function typeWriterSans() {\n                    if (i === 0) titleSans.classList.add('typewriter-cursor');\n                    if (i < textSans.length) {\n                        titleSans.textContent += textSans.charAt(i);\n                        i++;\n                        setTimeout(typeWriterSans, speed);\n                    } else {\n                        titleSans.classList.remove('typewriter-cursor');\n                        setTimeout(typeWriterSerif, 250); \n                    }\n                }\n\n                let j = 0;\n                function typeWriterSerif() {\n                    if (j === 0) titleSerif.classList.add('typewriter-cursor');\n                    if (j < textSerif.length) {\n                        titleSerif.textContent += textSerif.charAt(j);\n                        j++;\n                        setTimeout(typeWriterSerif, speed);\n                    } else {\n                        titleSerif.classList.remove('typewriter-cursor');\n                        \/\/ 3. APPARITION DU PICTO OUTIL\n                        if (icon) icon.classList.add('is-visible');\n                    }\n                }\n\n                \/\/ Lancement de la machine \u00e0 \u00e9crire\n                setTimeout(typeWriterSans, 300);\n            }\n        });\n    <\/script>\n\n\n\n<style>\n    \/* ==========================================================================\n       SECTION SAVOIR-FAIRE & EXPERTISE (TAPISSERIE)\n       ========================================================================== *\/\n\n    .savoir-faire-tapisserie {\n    margin-top: 100vh; \/* Pousse la section sous le Hero (Fallback) *\/\n    margin-top: 100lvh; \/* Pousse la section sous le Hero *\/\n    \n    \/* Le reste de ton code d'origine reste inchang\u00e9 *\/\n    padding: var(--section-pad-v-dt, 80px) var(--section-pad-h-dt, 5vw);\n    position: relative;\n    z-index: 10;\n    color: black;\n    background-color: var(--color-norki-beige, #f8f0ea);\n}\n    \/* --- DA Liens In-text --- *\/\n    .norki-sf-tapisserie__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-sf-tapisserie__inline-link:hover {\n        text-decoration-color: transparent;\n        opacity: 0.7;\n    }\n\n    \/* --- 1. En-t\u00eate : Titre & Navigation --- *\/\n    .savoir-faire-tapisserie__header {\n        text-align: center;\n        margin-bottom: 70px;\n    }\n\n    .savoir-faire-tapisserie__main-title {\n        font-size: clamp(1.4rem, 2.5vw, 35px);\n        margin-bottom: 35px;\n        font-weight: 500;\n        letter-spacing: -0.01em;\n        margin-top: 0;\n    }\n\n    .sf-nav__list {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        justify-content: center;\n        flex-wrap: wrap;\n        gap: 15px 45px;\n    }\n\n    .sf-nav__link {\n        text-decoration: underline;\n        text-decoration-color: transparent;\n        text-underline-offset: 4px;\n        text-decoration-thickness: 1px;\n        color: black;\n        font-size: 0.95rem;\n        font-weight: 500;\n        transition: text-decoration-color 0.3s ease, opacity 0.3s ease;\n    }\n\n    .sf-nav__link:hover {\n        text-decoration-color: rgba(0,0,0,0.7);\n        color: rgba(0,0,0,0.7);\n    }\n\n    .sf-nav__link.active {\n        text-decoration-color: black;\n        opacity: 1;\n    }\n\n    .sf-nav__list:hover .sf-nav__link.active {\n        text-decoration-color: transparent;\n    }\n\n    .sf-nav__list:hover .sf-nav__link.active:hover {\n        text-decoration-color: rgba(0,0,0,0.7);\n    }\n\n    \/* --- 2. Contenu Expertise (Layout & Texte) --- *\/\n    .sf-expertise {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        column-gap: 30px;\n    }\n\n    .sf-expertise__text-block {\n        grid-column: 1 \/ -1;\n        max-width: 620px;\n        text-align: left;\n    }\n\n    .sf-expertise__text-block--top {\n        grid-row: 1;\n        margin-bottom: 25px;\n    }\n\n    .sf-expertise__text-block--bottom {\n        grid-row: 3;\n        margin-top: 50px;\n        margin-bottom: 0;\n    }\n\n    .sf-img-1 {\n        grid-column: 1 \/ 2;\n        grid-row: 2;\n    }\n\n    .sf-img-2 {\n        grid-column: 2 \/ 3;\n        grid-row: 2;\n    }\n\n    .sf-expertise__title {\n        font-size: clamp(1.5rem, 2.2vw, 28px);\n        margin-bottom: 25px;\n        font-weight: 500;\n        line-height: 1.3;\n        letter-spacing: -0.01em;\n    }\n\n    .sf-expertise__desc {\n        font-size: 0.95rem;\n        line-height: 1.5;\n        margin-bottom: 15px;\n        font-weight: 400; \n    }\n\n    \/* --- Syst\u00e8me d'accord\u00e9on (Smooth Reveal) --- *\/\n    .sf-expertise__expand-wrapper {\n        display: grid;\n        grid-template-rows: 0fr; \n        transition: grid-template-rows 0.4s ease-out;\n        overflow: hidden;\n    }\n\n    .sf-expertise__expand-wrapper.is-open { \n       grid-template-rows: 1fr;\n    }\n\n    .sf-expertise__expand-content {\n        overflow: hidden;\n    }\n\n    \/* --- Actions & Boutons --- *\/\n    .sf-expertise__actions {\n        display: flex;\n        flex-direction: column;\n        align-items: flex-start;\n        gap: 25px;\n        margin-top: 10px;\n    }\n\n    .sf-expertise__btn {\n        background: transparent;\n        border: none;\n        display: inline-block;\n        font-size: 0.95rem;\n        text-decoration: underline;\n        text-decoration-color: black;\n        text-underline-offset: 3px;\n        color: black;\n        font-family: inherit;\n        font-style: italic;\n        padding: 0;\n        cursor: pointer;\n        transition: text-decoration-color 0.3s ease, opacity 0.3s ease;\n    }\n\n    .sf-expertise__btn:hover {\n        text-decoration-color: transparent;\n        opacity: 0.6;\n    }\n\n    .sf-expertise__btn-whatsapp {\n        display: inline-flex;\n        justify-content: center;\n        align-items: center;\n        padding: 4px 25px;\n        text-decoration: none;\n        font-size: 0.9rem;\n        font-weight: 500;\n        transition: all 0.3s ease;\n        border: 1px solid black;\n        background-color: transparent;\n        color: black;\n        cursor: pointer;\n        text-align: center;\n    }\n\n    .sf-expertise__btn-whatsapp:hover {\n        background-color: black;\n        color: white;\n    }\n\n    \/* --- 3. Images --- *\/\n    .sf-expertise__img-wrapper {\n        width: 100%;\n        aspect-ratio: 4 \/ 5;\n        overflow: hidden;\n        background-color: #e5dfd9; \n    }\n\n    .sf-expertise__img {\n        width: 100%;\n        height: 100%;\n        object-fit: cover;\n        display: block;\n        transition: transform 0.6s ease;\n    }\n\n    .sf-expertise__img-wrapper:hover .sf-expertise__img {\n        transform: scale(1.03); \n    }\n\n    \/* --- 4. Responsive --- *\/\n    @media (max-width: 1024px) {\n        .savoir-faire-tapisserie {\n            padding: var(--section-pad-v-tab, 60px) var(--section-pad-h-tab, 4vw);\n        }\n        \n        .savoir-faire-tapisserie__header {\n            margin-bottom: 50px;\n        }\n\n        .sf-expertise {\n            column-gap: 20px;\n        }\n\n        .sf-expertise__text-block {\n            max-width: 80%;\n        }\n    }\n\n    @media (max-width: 768px) {\n        .savoir-faire-tapisserie {\n            padding: var(--section-pad-v-mob, 50px) var(--section-pad-h-mob, 20px);\n        }\n        \n        .savoir-faire-tapisserie__header {\n            margin-bottom: 40px;\n            text-align: left; \n        }\n\n        .sf-nav__list {\n            flex-direction: column;\n            align-items: flex-start;\n            gap: 12px;\n        }\n\n        .sf-expertise {\n            display: flex;\n            flex-direction: column;\n            gap: 0;\n        }\n\n        .sf-expertise__text-block {\n            max-width: 100%;\n        }\n\n        .sf-expertise__text-block--top {\n            margin-bottom: 35px;\n        }\n\n        .sf-expertise__text-block--bottom {\n            margin-top: 35px;\n            margin-bottom: 35px;\n            width: 85%; \n            margin-left: auto;\n        }\n\n        .sf-expertise__title {\n            font-size: 1.4rem;\n        }\n        \n        .sf-expertise__img-wrapper {\n            aspect-ratio: auto;\n            height: 65vh;\n        }\n    }\n<\/style>\n\n<section class=\"savoir-faire-tapisserie\">\n    \n    <!-- En-t\u00eate : Titre & Menu de navigation -->\n    <div class=\"savoir-faire-tapisserie__header\">\n        <h2 class=\"savoir-faire-tapisserie__main-title avenirmedium-font\">Our Craftsmanship<\/h2>\n        \n        <nav class=\"sf-nav\" aria-label=\"Craftsmanship navigation\">\n            <ul class=\"sf-nav__list\">\n                <li><a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/sewing-fur-epv\/\" class=\"sf-nav__link\">Fur Couture EPV<\/a><\/li>\n                <li><a href=\"#\" class=\"sf-nav__link active\" aria-current=\"page\">Upholstery<\/a><\/li>\n                <li><a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-soft-furnishings-curtains\/\" class=\"sf-nav__link\">Furnishing Couture<\/a><\/li>\n                <li><a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-fur-leather-rugs\/\" class=\"sf-nav__link\">Bespoke Rugs<\/a><\/li>\n                <li><a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-haute-couture-embroidery\/\" class=\"sf-nav__link\">Embroidery<\/a><\/li>\n            <\/ul>\n        <\/nav>\n    <\/div>\n\n    <!-- Contenu Expertise : Texte & Galerie -->\n    <div class=\"sf-expertise\">\n        \n        <!-- Bloc Texte Haut -->\n        <div class=\"sf-expertise__text-block sf-expertise__text-block--top\">\n            <h3 class=\"sf-expertise__title avenirmedium-font\">\n                Our Expertise \u2013 Excellence at the Heart of Our Workshop\n            <\/h3>\n            \n            <p class=\"sf-expertise__desc\">\n                At the heart of <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/\" class=\"norki-sf-tapisserie__inline-link\">our Workshop<\/a>, each creation is the result of meticulous artisanal know-how. Our workshop manager, trained with the <a href=\"https:\/\/compagnons-du-devoir.com\/\" class=\"norki-sf-tapisserie__inline-link\" target=\"_blank\" rel=\"noopener\">Compagnons du Devoir<\/a>, leads a team of craftswomen from prestigious schools such as <a href=\"https:\/\/www.afpia-estnord.fr\/\" class=\"norki-sf-tapisserie__inline-link\" target=\"_blank\" rel=\"noopener\">AFPIA<\/a> and the \u00c9cole des Beaux M\u00e9tiers. Together, they preserve traditional upholstery techniques while integrating contemporary approaches.\n            <\/p>\n            \n            <div class=\"sf-expertise__actions\">\n                <a href=\"https:\/\/api.whatsapp.com\/send?phone=33388368954\" class=\"sf-expertise__btn-whatsapp\" target=\"_blank\" rel=\"noopener\">WhatsApp Us<\/a>\n            <\/div>\n        <\/div>\n\n        <!-- Image 1 -->\n        <div class=\"sf-expertise__img-wrapper sf-img-1\">\n            <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/technique-tapisserie-siege-guindage-ressort.jpg\" alt=\"Upholstery technique \u2013 Spring tying\" class=\"sf-expertise__img\" loading=\"lazy\">\n        <\/div>\n\n        <!-- Bloc Texte Bas -->\n        <div class=\"sf-expertise__text-block sf-expertise__text-block--bottom\">\n            <p class=\"sf-expertise__desc\">\n                Our craftswomen work with iconic upholstery tools such as the upholstery hammer, curved leather needle, and strap stretchers. Traditional techniques\u2014webbing, spring mounting, stuffing, and horsehair work\u2014bring <a href=\"https:\/\/www.norki.com\/en\/21-vintage-armchairs-norki\" class=\"norki-sf-tapisserie__inline-link\">new life to furniture<\/a> while respecting the rules of the craft.\n            <\/p>\n            \n            <!-- Contenu d\u00e9roulant -->\n            <div class=\"sf-expertise__expand-wrapper\" id=\"extra-wrapper-tapisserie\">\n                <div class=\"sf-expertise__expand-content\">\n                    <p class=\"sf-expertise__desc\" style=\"margin-bottom: 15px;\">\n                        Contemporary techniques complement traditional expertise for the creation of <a href=\"https:\/\/www.norki.com\/en\/65-luxury-seating-furniture\" class=\"norki-sf-tapisserie__inline-link\">bespoke furniture and seating<\/a>. Working with materials becomes more flexible: precise covering, cutting and shaping foam, and innovative assemblies. Industrial methods are also thoughtfully integrated, such as using staples to replace traditional padding tacks, while maintaining the creativity and quality of handmade work.\n                    <\/p>\n                <\/div>\n            <\/div>\n            \n            <button type=\"button\" class=\"sf-expertise__btn\" id=\"voir-plus-btn-tapisserie\" style=\"margin-top: 5px;\">Learn more<\/button>\n        <\/div>\n\n        <!-- Image 2 -->\n        <div class=\"sf-expertise__img-wrapper sf-img-2\">\n            <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/leather-button-making-for-upholstery.jpg\" alt=\"Handcrafting leather buttons for upholstery\" class=\"sf-expertise__img\" loading=\"lazy\">\n        <\/div>\n\n    <\/div>\n<\/section>\n\n<script>\n    document.addEventListener('DOMContentLoaded', () => {\n        \n        \/\/ --- 1. Gestion du bouton \"Voir plus\" (Tapisserie) ---\n        const btnTapisserie = document.getElementById('voir-plus-btn-tapisserie'); \n        const wrapperTapisserie = document.getElementById('extra-wrapper-tapisserie'); \n\n        if (btnTapisserie && wrapperTapisserie) {\n            btnTapisserie.addEventListener('click', () => {\n                const isOpen = wrapperTapisserie.classList.toggle('is-open');\n                \/\/ Mise \u00e0 jour du texte du bouton\n                btnTapisserie.textContent = isOpen ? 'Show less' : 'Learn more';\n            });\n        }\n\n        \/\/ --- 2. Gestion de la navigation active (Onglets) ---\n        const navLinks = document.querySelectorAll('.sf-nav__link');\n\n        navLinks.forEach(link => {\n            link.addEventListener('click', (e) => {\n                \/\/ Retire la classe 'active' de tous les liens\n                navLinks.forEach(l => {\n                    l.classList.remove('active');\n                    l.removeAttribute('aria-current');\n                });\n\n                \/\/ Ajoute la classe 'active' au lien cliqu\u00e9\n                link.classList.add('active');\n                link.setAttribute('aria-current', 'page');\n            });\n        });\n\n    });\n<\/script>\n\n\n\n<style>\n    \/* * Variables defined locally for component independence, \n     * to merge with your global :root if necessary.\n     *\/\n    :root {\n        --text-main: black;\n        --font-serif: 'Playfair Display', Georgia, serif;\n        \/* Presumed font for quotation marks *\/\n        --font-quote: \"Pertili\", var(--font-serif); \n    }\n\n    \/* Main flexbox container separating Image and Text *\/\n    .norki-quote-image-wrapper {\n        display: flex;\n        align-items: center; \/* Center vertically *\/\n        justify-content: space-between;\n        gap: 60px; \/* Space between image and text *\/\n        padding: var(--section-pad-v-dt, 80px) var(--section-pad-h-dt, 5vw);\n        background-color: var(--color-norki-beige, #f8f0ea);\n        z-index: 10;\n        position: relative;\n        padding-top: 0;\n    }\n\n    \/* Image Side (Left) *\/\n    .norki-quote__image-side {\n        flex: 1;\n        max-width: 50%;\n    }\n\n    .norki-quote__image-side img {\n        width: 100%;\n        height: auto;\n        aspect-ratio: 4 \/ 3; \/* Landscape aspect ratio matching the layout *\/\n        object-fit: cover;\n        display: block;\n    }\n\n    \/* Quote Side (Right) *\/\n    .norki-quote__text-side {\n        flex: 1;\n        display: flex;\n        justify-content: center;\n    }\n\n    .bloc-citation-norki {\n        position: relative;\n        max-width: 550px; \/* Slightly reduced since it occupies half the screen *\/\n        text-align: center;\n        padding: 20px 40px; \n    }\n\n    .bloc-citation-norki p {\n        font-size: clamp(1.2rem, 1.8vw, 1.5rem); \/* Responsive font size *\/\n        line-height: 1.45;\n        color: var(--text-main);\n        font-weight: 400;\n        margin: 0;\n    }\n\n    \/* Quotation marks handling via pseudo-elements *\/\n    .bloc-citation-norki::before,\n    .bloc-citation-norki::after {\n        font-family: var(--font-quote) !important;\n        font-size: 130px;\n        color: #000;\n        position: absolute;\n        line-height: 0; \n    }\n    \n    .bloc-citation-norki::before {\n        content: '\\201C'; \/* Left double quotation mark \u201c *\/\n        top: 30px;\n        left: -10px;\n    }\n\n    .bloc-citation-norki::after {\n        content: '\\201D'; \/* Right double quotation mark \u201d *\/\n        bottom: -30px;\n        right: 0px;\n    }\n\n\n    \/* Responsive Design: Tablet (medium screens) *\/\n    @media (max-width: 1024px) {\n        .norki-quote-image-wrapper {\n            gap: 30px;\n        }\n        .bloc-citation-norki {\n            padding: 10px 20px;\n        }\n        .bloc-citation-norki::before { left: -5px; }\n        .bloc-citation-norki::after { right: 5px; }\n    }\n\n    \/* Responsive Design: Mobile (Image hidden) *\/\n    @media (max-width: 768px) {\n        .norki-quote-image-wrapper {\n            padding: var(--section-pad-v-mob, 40px) 15px;\n            display: block; \/* Remove flexbox for classic layout flow *\/\n        }\n        \n        \/* Completely hide image on mobile as requested *\/\n        .norki-quote__image-side {\n            display: none;\n        }\n        \n        .norki-quote__text-side {\n            width: 100%;\n        }\n\n        .bloc-citation-norki {\n            padding: 10px 15px; \n            max-width: 100%;\n            margin: 0 auto;\n        }\n        \n        .bloc-citation-norki p {\n            font-size: 1.25rem;\n            padding: 0 20px;\n        }\n        \n        .bloc-citation-norki p br {\n            display: none; \/* Disable forced line breaks on mobile for better flow *\/\n        }\n        \n        .bloc-citation-norki::before,\n        .bloc-citation-norki::after {\n            font-size: 75px; \/* Slight reduction to balance on mobile *\/\n        }\n        \n        .bloc-citation-norki::before {\n             top: 31px;\n             left: 0px;\n        }\n        \n        .bloc-citation-norki::after {\n            bottom: -6px;\n            right: 11px;\n        }\n    }\n<\/style>\n\n<div class=\"norki-quote-image-wrapper\">\n    \n    <!-- Image Column (Visible on Desktop, hidden on Mobile) -->\n    <div class=\"norki-quote__image-side\">\n        <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/traditional-upholster-seating-norki.jpg\" alt=\"Master upholsterer handcrafting the webbing support\" loading=\"lazy\" onerror=\"this.src='https:\/\/images.unsplash.com\/photo-1596484552834-6a58f850d0a1?q=80&amp;w=1200&amp;auto=format&amp;fit=crop';\">\n    <\/div>\n\n    <!-- Quote Column -->\n    <div class=\"norki-quote__text-side\">\n        <div class=\"bloc-citation-norki\">\n            <p class=\"baskerville-italic-font\">\n                Our skilled upholsterers restore your vintage \n                furniture and craft bespoke pieces.\n                Traditional and contemporary upholstery \u2014 two arts \n                intertwined at the heart of our workshop \u2014 to \n                create your most beautiful objects.\n            <\/p>\n        <\/div>\n    <\/div>\n    \n<\/div>\n\n\n\n<style>\n    \/* ==========================================================================\n       SECTION R\u00c9NOVATION VINTAGE\n       ========================================================================== *\/\n\n    .norki-renovation {\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        padding-top: 0;\n    }\n\n    \/* --- DA Liens In-text (Commun) --- *\/\n    .norki-sf-tapisserie__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-sf-tapisserie__inline-link:hover {\n        text-decoration-color: transparent;\n        opacity: 0.7;\n    }\n\n    \/* --- 1. En-t\u00eate (Icone + Textes) --- *\/\n    .norki-renovation__content {\n        max-width: 600px; \/* Limite la largeur du texte sur PC *\/\n        margin-bottom: 50px;\n    }\n\n    .norki-renovation__icon {\n        width: 140px;\n        height: auto;\n        margin-bottom: 25px;\n        display: block;\n    }\n\n    .norki-renovation__title {\n        font-size: clamp(1.4rem, 2.5vw, 35px);\n        font-weight: 500;\n        margin-bottom: 25px;\n        letter-spacing: -0.01em;\n        line-height: 1.2;\n        margin-top: 0;\n    }\n\n    .norki-renovation__text p {\n        font-size: 0.95rem;\n        line-height: 1.5;\n        margin-bottom: 15px;\n    }\n\n    .norki-renovation__text p:last-child {\n        margin-bottom: 0;\n    }\n\n    \/* --- Actions & Bouton Curation --- *\/\n    .norki-renovation__actions {\n        margin-top: 25px;\n        display: flex;\n        align-items: flex-start;\n    }\n\n    .norki-renovation__btn-curation {\n        display: inline-flex;\n        justify-content: center;\n        align-items: center;\n        padding: 4px 25px;\n        text-decoration: none;\n        font-size: 0.9rem;\n        font-weight: 500;\n        transition: all 0.3s ease;\n        border: 1px solid black;\n        background-color: transparent;\n        color: black;\n        cursor: pointer;\n        text-align: center;\n    }\n\n    .norki-renovation__btn-curation:hover {\n        background-color: black;\n        color: white;\n    }\n\n    \/* --- 2. Galerie (Images asym\u00e9triques) --- *\/\n    .norki-renovation__gallery {\n        display: flex;\n        align-items: flex-end; \/* Aligne la petite image en bas *\/\n        justify-content: space-between; \/* Repousse la petite image vers la droite sur PC *\/\n        width: 100%;\n    }\n\n    .norki-renovation__img-main {\n        flex: 0 0 50%; \/* L'image principale occupe la moiti\u00e9 gauche *\/\n    }\n\n    .norki-renovation__img-main img {\n        width: 100%;\n        height: auto;\n        display: block;\n        object-fit: cover;\n    }\n\n    .norki-renovation__img-sub {\n        flex: 0 0 25%; \/* La petite image occupe un quart, align\u00e9e \u00e0 droite *\/\n    }\n\n    .norki-renovation__img-sub img {\n        width: 100%;\n        height: auto;\n        display: block;\n        object-fit: cover;\n    }\n\n    \/* --- 3. Responsive --- *\/\n    @media (max-width: 1024px) {\n        .norki-renovation {\n            padding: var(--section-pad-v-tab, 60px) var(--section-pad-h-tab, 4vw);\n        }\n        \n        .norki-renovation__content {\n            max-width: 80%;\n        }\n\n        .norki-renovation__gallery {\n            justify-content: flex-start; \/* On rapproche les images sur tablette *\/\n            gap: 40px; \n        }\n\n        .norki-renovation__img-main {\n            flex: 0 0 50%;\n        }\n\n        .norki-renovation__img-sub {\n            flex: 0 0 30%;\n        }\n    }\n\n    @media (max-width: 768px) {\n        .norki-renovation {\n            padding: var(--section-pad-v-mob, 50px) var(--section-pad-h-mob, 20px);\n        }\n        \n        .norki-renovation__content {\n            max-width: 100%;\n            margin-bottom: 40px;\n        }\n\n        .norki-renovation__icon {\n            width: 110px;\n            margin-bottom: 20px;\n        }\n\n        .norki-renovation__title {\n            font-size: 1.4rem;\n            margin-bottom: 20px;\n        }\n        \n        \/* R\u00e9organisation de la galerie sur Mobile *\/\n        .norki-renovation__gallery {\n            flex-direction: column;\n            align-items: flex-end; \/* Aligne les \u00e9l\u00e9ments \u00e0 droite *\/\n            gap: 30px;\n        }\n        \n        .norki-renovation__img-main {\n            flex: none;\n            width: 100%; \/* L'image principale reprend 100% sur mobile *\/\n        }\n        \n        .norki-renovation__img-sub {\n            flex: none;\n            width: 75%; \/* L'image secondaire est r\u00e9duite et pouss\u00e9e \u00e0 droite sur mobile *\/\n        }\n    }\n<\/style>\n\n<section class=\"norki-renovation\">\n    \n    <!-- Zone Texte -->\n    <div class=\"norki-renovation__content\">\n        <!-- Ic\u00f4ne Outils -->\n        <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/outils-tapissier-ameublement-france.png\" alt=\"Traditional master upholsterer tools\" class=\"norki-renovation__icon\" loading=\"lazy\">\n        \n        <h2 class=\"norki-renovation__title avenirmedium-font\">Vintage Furniture Restoration<\/h2>\n        \n        <div class=\"norki-renovation__text\">\n            <p>\n                Curated by our Maison, our <a href=\"https:\/\/www.norki.com\/en\/52-curation-scandinavian-vintage-luxury-furniture\" class=\"norki-sf-tapisserie__inline-link\">collection of vintage furniture<\/a> is sourced monthly by Thierry Linard in Scandinavia and restored at the heart of <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/\" class=\"norki-sf-tapisserie__inline-link\">our Workshop<\/a>.\n            <\/p>\n            <p>\n                Each piece is carefully examined by our <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/\" class=\"norki-sf-tapisserie__inline-link\">upholsterers<\/a> and restored according to the highest artisanal standards, in absolute respect of heritage traditions.\n            <\/p>\n            <p>\n                Every item tells a story, ready to open new chapters in the most beautiful interiors around the world.\n            <\/p>\n        <\/div>\n\n        <!-- Bouton de Curation (M\u00eame style que Whatsapp us) -->\n        <div class=\"norki-renovation__actions\">\n            <a href=\"https:\/\/www.norki.com\/en\/52-curation-scandinavian-vintage-luxury-furniture\" class=\"norki-renovation__btn-curation\">Vintage curation<\/a>\n        <\/div>\n    <\/div>\n\n    <!-- Zone Galerie -->\n    <div class=\"norki-renovation__gallery\">\n        <!-- Image Gauche (Labels) -->\n        <div class=\"norki-renovation__img-main\">\n            <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/carl-malmsten-fauteuil-vintage-signe.jpg\" alt=\"Vintage authenticity stamps by Carl Malmsten and AB O.H. Sj\u00f6gren\" loading=\"lazy\">\n        <\/div>\n        \n        <!-- Image Droite (D\u00e9tail Fauteuil) -->\n        <div class=\"norki-renovation__img-sub\">\n            <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/De-ster-Geldrland-vintage-knot-armchair.jpg\" alt=\"Leg detail of De Ster Gelderland vintage knot armchair\" loading=\"lazy\">\n        <\/div>\n    <\/div>\n\n<\/section>\n\n\n\n<style>\n    \/* ==========================================================================\n       SECTION CARROUSEL : LE SI\u00c8GE\n       ========================================================================== *\/\n    .norki-section {\n        z-index: 10;\n        position: relative;\n        background-color: var(--color-norki-brown, #50423d);\n        color: #ffffff;\n        padding-top: var(--section-pad-v-dt, 80px);\n        overflow: hidden;\n        box-sizing: border-box;\n    }\n\n    .norki-section * {\n        box-sizing: border-box;\n    }\n\n    .norki-container {\n        padding: 0 var(--section-pad-h-dt, 5vw);\n    }\n\n    \/* --- Style Commun DA : Liens In-text --- *\/\n    .norki-sf-tapisserie__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-sf-tapisserie__inline-link:hover {\n        text-decoration-color: transparent;\n        opacity: 0.7;\n    }\n\n    .norki-header-text {\n        max-width: 650px;\n    }\n\n    .norki-header-text h2 {\n        font-size: clamp(1.4rem, 2.5vw, 35px);\n        font-weight: 500;\n        line-height: 1.2;\n        margin: 0 0 25px 0;\n        color: #f8f0ea;\n        letter-spacing: -0.01em;\n    }\n\n    .norki-header-text p {\n        font-size: 0.95rem;\n        line-height: 1.5;\n        margin: 0 0 15px 0;\n        color: #f8f0ea;\n    }\n\n    .norki-header-text p:last-child {\n        margin-bottom: 0;\n    }\n\n    .norki-header-bottom {\n        display: flex;\n        justify-content: space-between;\n        align-items: flex-end;\n        margin-top: 40px;\n        margin-bottom: 40px;\n    }\n\n    .norki-btn {\n        display: inline-block;\n        background-color: #f8f0ea;\n        color: #1a1a1a;\n        text-decoration: none;\n        padding: 4px 27px;\n        font-size: 0.9rem;\n        font-weight: 500;\n        transition: background-color 0.3s ease;\n    }\n\n    .norki-btn:hover {\n        background-color: #dfdbd3;\n    }\n\n    .norki-arrows {\n        display: flex;\n        gap: 15px;\n    }\n\n    .norki-arrows button {\n        background: none;\n        border: none;\n        color: #ffffff;\n        cursor: pointer;\n        padding: 5px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        transition: opacity 0.3s ease;\n    }\n\n    @media (hover: hover) {\n        .norki-arrows button:hover {\n            opacity: 0.6;\n        }\n    }\n\n    .norki-arrows button:active {\n        opacity: 0.6;\n    }\n\n    .norki-arrows svg {\n        width: 28px;\n        height: 28px;\n        fill: none;\n        stroke: currentColor;\n        stroke-width: 1.2;\n    }\n\n    .norki-carousel {\n        position: relative;\n        width: 100%;\n    }\n\n    .norki-carousel-viewport {\n        overflow: hidden;\n        touch-action: pan-y; \n    }\n\n    .norki-carousel-track {\n        display: flex;\n        will-change: transform;\n    }\n\n    .norki-slide {\n        flex: 0 0 25%;\n        display: flex;\n        flex-direction: column;\n        padding: 0 2px;\n    }\n\n    .norki-img-link {\n        display: block;\n        width: 100%;\n        text-decoration: none;\n        cursor: pointer;\n        overflow: hidden; \/* Masque le d\u00e9bordement lors du scale *\/\n    }\n\n    .norki-slide img {\n        width: 100%;\n        height: 31vw;\n        max-height: 570px;\n        object-fit: cover;\n        display: block;\n        max-width: 650px;\n        background-color: #423b34;\n        opacity: 0;\n        transform: scale(1); \/* Initialise la taille de l'image *\/\n        transition: opacity 0.5s ease-in-out, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n    }\n\n    .norki-slide img.norki-loaded {\n        opacity: 1;\n    }\n\n    .norki-img-link:hover img {\n        transform: scale(1.03);\n    }\n\n    .norki-caption {\n        display: flex;\n        align-items: baseline;\n        justify-content: flex-start;\n        gap: 20px;\n        padding: 15px 0;\n        padding-left: 23px; \n    }\n\n    .norki-caption span {\n        font-weight: 500;\n        color: #f8f0ea;\n        font-size: 0.85rem;\n    }\n\n    .norki-caption a {\n        color: #f8f0ea;\n        text-decoration: underline;\n        text-decoration-thickness: 1px;\n        text-underline-offset: 4px;\n        transition: opacity 0.3s ease;\n        font-size: 0.85rem;\n        font-weight: 500;\n    }\n\n    .norki-caption a:hover {\n        opacity: 0.7;\n    }\n\n    @media (max-width: 992px) {\n        .norki-section {\n            padding-top: var(--section-pad-v-tab, 50px);\n        }\n\n        .norki-container {\n            padding: 0 var(--section-pad-h-tab, 4vw);\n        }\n\n        .norki-slide {\n            flex: 0 0 50%;\n        }\n\n        .norki-slide img {\n            width: 100%;\n            height: 60vw;\n        }\n    }\n\n    @media (max-width: 768px) {\n        .norki-section {\n            padding-top: var(--section-pad-v-mob, 40px);\n        }\n        \n        .norki-container {\n            padding: 0 var(--section-pad-h-mob, 20px);\n        }\n\n        .norki-header-bottom {\n            flex-direction: row;\n            align-items: center;\n            margin-top: 30px;\n            margin-bottom: 30px;\n        }\n\n        .norki-header-text h2 {\n            font-size: 1.4rem;\n        }\n\n        .norki-slide {\n            flex: 0 0 100%;\n            padding: 0; \n        }\n\n        .norki-slide img {\n            max-width: none; \n            height: auto; \n            aspect-ratio: 4 \/ 5;\n        }\n        \n        .norki-caption {\n            flex-direction: row;\n            justify-content: space-between;\n            align-items: baseline;\n            padding: 15px 20px;\n        }\n    }\n<\/style>\n\n<section class=\"norki-section\">\n    <div class=\"norki-container\">\n        \n        <div class=\"norki-header-text\">\n            <h2 class=\"avenirmedium-font\">Seating:<br>Sofa, Armchair, Pouf, Bench<\/h2>\n            <p>\n                Our craftswomen, experts in both traditional and contemporary upholstery, work with precision on volumes and lines. \n                <a href=\"https:\/\/www.norki.com\/en\/25-designer-haute-couture-furniture-collection-norki\" class=\"norki-sf-tapisserie__inline-link\">Custom sofas, poufs, bed ends, and benches<\/a> \n                are crafted at our workshop in Alsace.\n            <\/p>\n            <p>\n                <a href=\"https:\/\/www.norki.com\/en\/designer-ottomans-stools-collection-norki\/606-presto-stool-contemporary-design-light-oak-velvet-shearling.html\" class=\"norki-sf-tapisserie__inline-link\">All our seating<\/a> \n                can be personalised with embroidery or decorative trim.\n            <\/p>\n        <\/div>\n\n        <div class=\"norki-header-bottom\">\n            <a href=\"https:\/\/www.norki.com\/en\/16-designer-seating-collection-norki\" class=\"norki-btn\">Shop Norki Seating<\/a>\n            <div class=\"norki-arrows\">\n                <button class=\"norki-prev\" aria-label=\"Previous slide\">\n                    <svg viewBox=\"0 0 24 24\"><path d=\"M15 18l-6-6 6-6\"><\/path><\/svg>\n                <\/button>\n                <button class=\"norki-next\" aria-label=\"Next slide\">\n                    <svg viewBox=\"0 0 24 24\"><path d=\"M9 18l6-6-6-6\"><\/path><\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n        \n    <\/div> \n\n    <!-- Zone Carrousel -->\n    <div class=\"norki-carousel\">\n        <div class=\"norki-carousel-viewport\">\n            <div class=\"norki-carousel-track\">\n                \n                <!-- Slide 1 : Fauteuil Montaigne -->\n                <div class=\"norki-slide\">\n                    <a href=\"https:\/\/www.norki.com\/en\/luxury-modern-armchairs-collection-norki\/148-white-montaigne-armchair-art-deco-lambskin.html\" class=\"norki-img-link\" tabindex=\"-1\">\n                        <img decoding=\"async\" data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/canape-tapisserie-sur-mesure-atelier-francais-norki.jpg\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1 1'%3E%3C\/svg%3E\" alt=\"Detail of a bespoke upholstered sofa\">\n                    <\/a>\n                    <div class=\"norki-caption\">\n                        <span>Montaigne Armchair<\/span>\n                        <a href=\"https:\/\/www.norki.com\/en\/luxury-modern-armchairs-collection-norki\/148-white-montaigne-armchair-art-deco-lambskin.html\">Shop<\/a>\n                    <\/div>\n                <\/div>\n                \n                <!-- Slide 2 : Pouf Tea Time -->\n                <div class=\"norki-slide\">\n                    <a href=\"https:\/\/www.norki.com\/en\/designer-ottomans-stools-collection-norki\/180-white-tea-time-stool-small-norki-curly-lambskin.html\" class=\"norki-img-link\" tabindex=\"-1\">\n                        <img decoding=\"async\" data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/small-white-shearling-woodstool-ottoman.jpg\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1 1'%3E%3C\/svg%3E\" alt=\"Small white shearling woodstool ottoman by Norki\">\n                    <\/a>\n                    <div class=\"norki-caption\">\n                        <span>Tea Time Pouf<\/span>\n                        <a href=\"https:\/\/www.norki.com\/en\/designer-ottomans-stools-collection-norki\/180-white-tea-time-stool-small-norki-curly-lambskin.html\">Shop<\/a>\n                    <\/div>\n                <\/div>\n                \n                <!-- Slide 3 : Fauteuil Atya -->\n                <div class=\"norki-slide\">\n                    <a href=\"https:\/\/www.norki.com\/en\/luxury-modern-armchairs-collection-norki\/486-contemporary-white-luxury-armchair-norki.html\" class=\"norki-img-link\" tabindex=\"-1\">\n                        <img decoding=\"async\" data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/atya-armchair-custom-made-upholstery.jpg\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1 1'%3E%3C\/svg%3E\" alt=\"Atya luxury contemporary white armchair\">\n                    <\/a>\n                    <div class=\"norki-caption\">\n                        <span>Atya Armchair<\/span>\n                        <a href=\"https:\/\/www.norki.com\/en\/luxury-modern-armchairs-collection-norki\/486-contemporary-white-luxury-armchair-norki.html\">Shop<\/a>\n                    <\/div>\n                <\/div>\n                \n                <!-- Slide 4 : Canap\u00e9 Montaigne -->\n                <div class=\"norki-slide\">\n                    <a href=\"https:\/\/www.norki.com\/en\/sofas-soft-textures-collection-norki\/96-montaigne-sofa-norki-club-sheepskin.html\" class=\"norki-img-link\" tabindex=\"-1\">\n                        <img decoding=\"async\" data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/broderie-grise-personnalisee-sur-canape-blanc.jpg\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1 1'%3E%3C\/svg%3E\" alt=\"Detail of custom grey embroidery on white sofa\">\n                    <\/a>\n                    <div class=\"norki-caption\">\n                        <span>Montaigne Sofa<\/span>\n                        <a href=\"https:\/\/www.norki.com\/en\/sofas-soft-textures-collection-norki\/96-montaigne-sofa-norki-club-sheepskin.html\">Shop<\/a>\n                    <\/div>\n                <\/div>\n\n                <!-- Slide 5 : Pouf Portobello -->\n                <div class=\"nk-tapis-carousel__slide norki-slide\">\n                    <a href=\"https:\/\/www.norki.com\/en\/designer-ottomans-stools-collection-norki\/154-white-portobello-stool-norki-velour-lambskin.html\" class=\"norki-img-link\" tabindex=\"-1\">\n                        <img decoding=\"async\" data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/assise-petit-pouf-champignon-blanc.jpg\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1 1'%3E%3C\/svg%3E\" alt=\"White velvet shearling Portobello pouf\">\n                    <\/a>\n                    <div class=\"norki-caption\">\n                        <span>Portobello Pouf<\/span>\n                        <a href=\"https:\/\/www.norki.com\/en\/designer-ottomans-stools-collection-norki\/154-white-portobello-stool-norki-velour-lambskin.html\">Shop<\/a>\n                    <\/div>\n                <\/div>\n\n                <!-- Slide 6 : Fauteuil Allegro -->\n                <div class=\"nk-tapis-carousel__slide norki-slide\">\n                    <a href=\"https:\/\/www.norki.com\/en\/luxury-modern-armchairs-collection-norki\/590-white-velvet-swivel-armchair-contemporary-design.html\" class=\"norki-img-link\" tabindex=\"-1\">\n                        <img decoding=\"async\" data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/06\/petit-fauteuil-pivotant-design-blanc-v2.jpg\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1 1'%3E%3C\/svg%3E\" alt=\"Allegro white velvet swivel armchair\">\n                    <\/a>\n                    <div class=\"norki-caption\">\n                        <span>Allegro Armchair<\/span>\n                        <a href=\"https:\/\/www.norki.com\/en\/luxury-modern-armchairs-collection-norki\/590-white-velvet-swivel-armchair-contemporary-design.html\">Shop<\/a>\n                    <\/div>\n                <\/div>\n\n                <!-- Slide 7 : Pouf C14 -->\n                <div class=\"nk-tapis-carousel__slide norki-slide\">\n                    <a href=\"https:\/\/www.norki.com\/en\/designer-ottomans-stools-collection-norki\/153-stool-C14-white-norki-shearling.html\" class=\"norki-img-link\" tabindex=\"-1\">\n                        <img decoding=\"async\" data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/06\/white-and-black-upholstery-norki-stool-v2.jpg\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1 1'%3E%3C\/svg%3E\" alt=\"C14 pouf with black matte metal ring\">\n                    <\/a>\n                    <div class=\"norki-caption\">\n                        <span>C14 Pouf<\/span>\n                        <a href=\"https:\/\/www.norki.com\/en\/designer-ottomans-stools-collection-norki\/153-stool-C14-white-norki-shearling.html\">Shop<\/a>\n                    <\/div>\n                <\/div>\n\n            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n<script>\n    document.addEventListener('DOMContentLoaded', () => {\n        const track = document.querySelector('.norki-carousel-track');\n        if (!track) return;\n        \n        const originalSlides = Array.from(document.querySelectorAll('.norki-slide'));\n        const totalOriginal = originalSlides.length;\n\n        \/\/ Clone les slides pour le d\u00e9filement infini\n        originalSlides.forEach(slide => {\n            const clone = slide.cloneNode(true);\n            clone.setAttribute('aria-hidden', 'true');\n            track.appendChild(clone);\n        });\n        originalSlides.slice().reverse().forEach(slide => {\n            const clone = slide.cloneNode(true);\n            clone.setAttribute('aria-hidden', 'true');\n            track.insertBefore(clone, track.firstChild);\n        });\n\n        const getSlidesPerView = () => {\n            if (window.innerWidth > 992) return 4; \n            if (window.innerWidth > 768) return 2; \n            return 1; \n        };\n\n        let slidesPerView = getSlidesPerView();\n        let currentIndex = totalOriginal; \n        let isAnimating = false;\n\n        const updateCarousel = (instant = false) => {\n            const itemWidth = 100 \/ slidesPerView;\n            track.style.transition = instant ? 'none' : 'transform 0.5s cubic-bezier(0.4, 0.0, 0.2, 1)';\n            track.style.transform = `translateX(-${currentIndex * itemWidth}%)`;\n        };\n\n        updateCarousel(true);\n\n        const moveNext = () => {\n            if (isAnimating) return;\n            isAnimating = true;\n            currentIndex++;\n            updateCarousel();\n        };\n\n        const movePrev = () => {\n            if (isAnimating) return;\n            isAnimating = true;\n            currentIndex--;\n            updateCarousel();\n        };\n\n        document.querySelector('.norki-next').addEventListener('click', moveNext);\n        document.querySelector('.norki-prev').addEventListener('click', movePrev);\n\n        track.addEventListener('transitionend', (e) => {\n            if (e.propertyName !== 'transform') return;\n            isAnimating = false;\n            \n            if (currentIndex <= 0) {\n                currentIndex = totalOriginal;\n                updateCarousel(true);\n            } \n            else if (currentIndex >= totalOriginal * 2) {\n                currentIndex = totalOriginal;\n                updateCarousel(true);\n            }\n        });\n\n        window.addEventListener('resize', () => {\n            const newSlidesPerView = getSlidesPerView();\n            if (newSlidesPerView !== slidesPerView) {\n                slidesPerView = newSlidesPerView;\n                updateCarousel(true);\n            }\n        });\n\n        \/\/ Gestion du Swipe tactile\n        let startX = 0;\n        let endX = 0;\n        const swipeThreshold = 40; \n\n        track.addEventListener('touchstart', (e) => {\n            startX = e.touches[0].clientX;\n        }, { passive: true }); \n\n        track.addEventListener('touchend', (e) => {\n            endX = e.changedTouches[0].clientX;\n            handleSwipe();\n        });\n\n        const handleSwipe = () => {\n            const diff = startX - endX;\n            if (Math.abs(diff) > swipeThreshold) {\n                if (diff > 0) {\n                    moveNext(); \n                } else {\n                    movePrev(); \n                }\n            }\n        };\n\n        \/\/ Lazy-loading des images \u00e0 l'approche de la zone visible\n        const observerOptions = {\n            root: null,\n            rootMargin: '0px 100% 0px 100%', \n            threshold: 0\n        };\n\n        const imageObserver = new IntersectionObserver((entries, observer) => {\n            entries.forEach(entry => {\n                if (entry.isIntersecting) {\n                    const img = entry.target;\n                    \n                    if (img.dataset.src) {\n                        img.onload = () => {\n                            img.classList.add('norki-loaded');\n                        };\n                        img.src = img.dataset.src;\n                        img.removeAttribute('data-src');\n                        observer.unobserve(img);\n                    }\n                }\n            });\n        }, observerOptions);\n        \n        document.querySelectorAll('.norki-slide img').forEach(img => {\n            imageObserver.observe(img);\n        });\n    });\n<\/script>\n\n\n\n<style>\n    \/* ==========================================================================\n       SECTION T\u00caTE-DE-LIT & REV\u00caTEMENT MURAL\n       ========================================================================== *\/\n\n    .norki-tete-revetement {\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    }\n\n    .tr-grid {\n        display: grid;\n        grid-template-columns: 1fr 1fr; \/* 2 colonnes \u00e9gales sur PC *\/\n        column-gap: 60px;\n        row-gap: 0; \/* On retire le gap global pour g\u00e9rer l'alignement via les marges *\/\n        align-items: start; \/* Emp\u00eache les \u00e9l\u00e9ments de s'\u00e9tirer verticalement *\/\n    }\n\n    \/* --- Style Commun DA : Liens In-text --- *\/\n    .norki-sf-tapisserie__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-sf-tapisserie__inline-link:hover {\n        text-decoration-color: transparent;\n        opacity: 0.7;\n    }\n\n    \/* --- Typographie --- *\/\n    .tr-text h2 {\n        font-size: clamp(1.4rem, 2.2vw, 35px);\n        font-weight: 500;\n        line-height: 1.25;\n        margin-top: 0;\n        margin-bottom: 25px;\n        letter-spacing: -0.01em;\n    }\n\n    .tr-text p {\n        font-size: 0.95rem;\n        line-height: 1.5;\n        margin-bottom: 15px;\n        font-weight: 400;\n    }\n\n    .tr-text p:last-child {\n        margin-bottom: 0;\n    }\n\n    \/* --- Conteneur Image avec zoom (DA) --- *\/\n    .tr-image {\n        overflow: hidden; \/* Masque le d\u00e9bordement lors du scale *\/\n        display: block;\n        width: 100%;\n    }\n\n    .tr-image img {\n        width: 100%;\n        height: auto;\n        display: block;\n        object-fit: cover;\n        transform: scale(1); \/* Initialise la taille de l'image *\/\n        transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n    }\n\n    \/* Application du Zoom 1.03 sur l'image lors du survol de la zone *\/\n    .tr-image:hover img {\n        transform: scale(1.03);\n    }\n\n    \/* Styles des l\u00e9gendes sous les images *\/\n    .tr-caption {\n        font-size: 0.8rem; \n        font-style: italic;\n        margin-top: 10px;\n        text-align: right;\n        color: #000;\n    }\n\n    \/* --- Positionnement PC (Grid layout align\u00e9) --- *\/\n    .tr-text-1 { \n        grid-column: 1; \n        grid-row: 1; \n        margin-bottom: 40px; \/* Pousse l'image vers le bas *\/\n    }\n    \n    .tr-img-1 { \n        grid-column: 1; \n        grid-row: 2; \/* Les 2 images sont sur la m\u00eame ligne *\/\n    }\n    \n    .tr-img-2 { \n        grid-column: 2; \n        grid-row: 2; \/* Les 2 images sont sur la m\u00eame ligne *\/\n    }\n    \n    .tr-text-2 { \n        grid-column: 2; \n        grid-row: 3; \n        margin-top: 40px; \/* S'\u00e9carte de l'image du dessus *\/\n    }\n\n    \/* --- Responsive --- *\/\n    @media (max-width: 1024px) {\n        .norki-tete-revetement {\n            padding: var(--section-pad-v-tab, 60px) var(--section-pad-h-tab, 4vw);\n        }\n        .tr-grid {\n            column-gap: 40px;\n        }\n        .tr-text-1 {\n            margin-bottom: 30px;\n        }\n        .tr-text-2 {\n            margin-top: 30px;\n        }\n    }\n\n    @media (max-width: 768px) {\n        .norki-tete-revetement {\n            padding: var(--section-pad-v-mob, 50px) var(--section-pad-h-mob, 20px);\n        }\n        \n        .tr-grid {\n            grid-template-columns: 1fr; \/* Passage sur 1 seule colonne *\/\n            row-gap: 40px; \/* On remet un espacement global sur mobile *\/\n        }\n        \n        \/* R\u00e9organisation de l'ordre d'affichage pour Mobile *\/\n        .tr-text-1 { \n            grid-column: 1; \n            grid-row: 1; \n            margin-bottom: 0; \/* Reset *\/\n        }\n        \n        .tr-img-1 { \n            grid-column: 1; \n            grid-row: 2; \n        }\n        \n        .tr-text-2 { \n            grid-column: 1; \n            grid-row: 3; \n            margin-top: 0; \/* Reset *\/\n        }\n        \n        \/* Marge suppl\u00e9mentaire pour le 2\u00e8me titre sur mobile *\/\n        .tr-text-2 h2 {\n            margin-top: 20px; \n        }\n        \n        .tr-img-2 { \n            grid-column: 1; \n            grid-row: 4; \n        }\n    }\n<\/style>\n\n<section class=\"norki-tete-revetement\" id=\"headboard\">\n    <div class=\"tr-grid\">\n        \n        <!-- Bloc Texte 1 : T\u00eate-de-lit -->\n        <div class=\"tr-text tr-text-1\">\n            <h2 class=\"avenirmedium-font\">\n                Bespoke Headboards<br>\n                \u2013 The Art of Custom Creation\n            <\/h2>\n            <p>\n                Designed as a true architectural feature of the room and always centered on your comfort, <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/hotel-projects\/grau-roig-andorre\/\" class=\"norki-sf-tapisserie__inline-link\">we craft bespoke headboards<\/a>. We masterfully work with volumes, textiles, and finishes to design unique pieces. Inspired by the French art of the bedroom, our creations combine textile refinement with a contemporary design approach.\n            <\/p>\n        <\/div>\n        \n        <!-- Bloc Image 1 : Lit jaune -->\n        <div class=\"tr-image tr-img-1\">\n            <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/custom-yellow-fabric-headboard-for-hotel.jpg\" alt=\"Bespoke tufted yellow fabric headboard\" loading=\"lazy\">\n            <div class=\"tr-caption\">Bespoke headboard - Hotel C\u0153ur de Meg\u00e8ve - Tissus Leli\u00e8vre<\/div>\n        <\/div>\n\n        <!-- Bloc Image 2 : Home Cin\u00e9ma -->\n        <div class=\"tr-image tr-img-2\">\n            <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/home-cinema-prive-sur-mesure.jpg\" alt=\"Acoustic wall paneling for private home cinema\" loading=\"lazy\">\n            <div class=\"tr-caption\">Bespoke upholstered wall covering for private Home Cinema<\/div>\n        <\/div>\n\n        <!-- Bloc Texte 2 : Rev\u00eatement mural -->\n        <div class=\"tr-text tr-text-2\">\n            <h2 class=\"avenirmedium-font\">\n                Wall Coverings<br>\n                \u2013 Wall Hangings, Panels, and Home Cinemas\n            <\/h2>\n            <p>\n                We design fabric wall hangings, decorative panels upholstered in leather or hide, as well as bespoke wall coverings dedicated to private home cinemas. Each project is crafted with extreme attention to detail and finishes.\n            <\/p>\n            <p>\n                Wall hangings offer visual comfort, bringing warmth and elegance to your spaces. Decorative panels combine aesthetics and refinement to enhance your interior. As for our wall panels, they are designed to optimize acoustic performance and guarantee an exceptional sound experience, essential for home cinemas.\n            <\/p>\n        <\/div>\n\n    <\/div>\n<\/section>\n\n\n\n<style>\n    \/* ==========================================================================\n       SECTION D\u00c9CORATION \/ PROJETS INTERNATIONAUX (TAPISSERIE)\n       Int\u00e9gration Design System : Padding 80px 5vw\n       Ajustement : Maximisation de la zone de carte sur Desktop\n       ========================================================================== *\/\n\n    .norki-decor-intl-tapisserie {\n        z-index: 10;\n        position: relative;\n        background-color: var(--color-norki-beige, #f8f0ea);\n        color: black;\n        padding: var(--section-pad-v-mob, 40px) var(--section-pad-h-mob, 20px);\n        display: flex;\n        flex-direction: column;\n        gap: 20px;\n        overflow: hidden; \/* Emp\u00eache le d\u00e9bordement horizontal de la carte agrandie *\/\n    }\n\n    @media (min-width: 768px) {\n        .norki-decor-intl-tapisserie {\n            padding: var(--section-pad-v-tab, 50px) var(--section-pad-h-tab, 4vw);\n        }\n    }\n\n    \/* --- GESTION DU HEADER MOBILE --- *\/\n    .norki-decor-intl-tapisserie__header {\n        display: flex;\n        align-items: end;\n        gap: 15px;\n    }\n\n    \/* --- GESTION DU MARTEAU --- *\/\n    .norki-decor-intl-tapisserie__hammer {\n        width: 70px;\n        height: auto;\n        display: block;\n        flex-shrink: 0;\n    }\n\n    .norki-decor-intl-tapisserie__title {\n        font-family: var(--font-montserrat, sans-serif);\n        font-size: clamp(1.4rem, 2.5vw, 35px);\n        line-height: 1.2;\n        font-weight: 500;\n        margin: 0;\n    }\n\n    \/* --- GESTION DE LA CARTE --- *\/\n    .norki-decor-intl-tapisserie__map-container {\n        width: 113%;\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        margin: 10px 0;\n    }\n\n    @media (max-width: 1500px) {\n        .norki-decor-intl-tapisserie__map-container {\n            width: 111%;\n        }\n    }\n\n    @media (max-width: 1024px) {\n        .norki-decor-intl-tapisserie__map-container {\n            width: 100%;\n        }\n    }\n\n    \/* WRAPPER COORDONN\u00c9 : Synchronise la position absolue des zones r\u00e9actives *\/\n    .norki-decor-intl-tapisserie__map-wrapper {\n        position: relative;\n        width: 100%;\n        padding-left: 5px;\n        transform: scale(1.05) translateX(-3%);\n    }\n\n    @media (max-width: 1024px) {\n        .norki-decor-intl-tapisserie__map-wrapper {\n            transform: scale(1.05) translateX(0);\n        }\n    }\n\n    .norki-decor-intl-tapisserie__map-img {\n        width: 100%;\n        height: auto;\n        object-fit: contain;\n        display: block;\n    }\n\n    \/* Logique d'affichage des sources (Triple Breakpoint) *\/\n    .norki-decor-intl-tapisserie__img-default, \n    .norki-decor-intl-tapisserie__img-responsive, \n    .norki-decor-intl-tapisserie__img-mobile { \n        display: none; \n    }\n\n    \/* 1. Desktop Large (> 1500px) *\/\n    @media (min-width: 1501px) {\n        .norki-decor-intl-tapisserie__img-default { display: block; }\n    }\n\n    \/* 2. Tablette & Desktop Moyen (601px - 1500px) *\/\n    @media (min-width: 601px) and (max-width: 1500px) {\n        .norki-decor-intl-tapisserie__img-responsive { display: block; }\n    }\n\n    \/* 3. Mobile \u00e9troit (< 600px) *\/\n    @media (max-width: 600px) {\n        .norki-decor-intl-tapisserie__img-mobile { display: block; }\n    }\n\n    \/* ZONES INTERACTIVES OVERLAYS (NEUTRES - SANS HOVER OU EFFETS DE TRANSITIONS MULTIPLES) *\/\n    .norki-decor-intl-tapisserie__map-link-overlay {\n        position: absolute;\n        border-radius: 100px;\n        cursor: pointer;\n        z-index: 10;\n        background-color: rgba(255, 255, 255, 0);\n    }\n\n    \/* --------------------------------------------------------------------------\n       POSITIONNEMENTS DES LIENS (SUR-MESURE SUR LES 3 BREAKPOINTS DE LA CARTE)\n       -------------------------------------------------------------------------- *\/\n\n    \/* Version Mobile \u00c9troite (ViewBox 1779.56 x 855.11) *\/\n    @media (max-width: 600px) {\n        .norki-decor-intl-tapisserie__map-link-overlay--paris {\n            left: 31.5116%; top: 4.7117%; width: 13.4679%; height: 6.4319%;\n        }\n        .norki-decor-intl-tapisserie__map-link-overlay--strasbourg {\n            left: 43.5539%; top: 13.3924%; width: 19.3368%; height: 6.4319%;\n        }\n        .norki-decor-intl-tapisserie__map-link-overlay--gstaad {\n            left: 61.8309%; top: 23.5443%; width: 15.7994%; height: 6.4319%;\n        }\n        .norki-decor-intl-tapisserie__map-link-overlay--megeve {\n            left: 73.2552%; top: 32.8776%; width: 16.9379%; height: 6.6588%;\n        }\n    }\n\n    \/* Version Tablette \/ Laptop (ViewBox 2056.89 x 858.67) *\/\n    @media (min-width: 601px) and (max-width: 1500px) {\n        .norki-decor-intl-tapisserie__map-link-overlay--paris {\n            left: 35.0956%; top: 5.9348%; width: 11.6521%; height: 6.4053%;\n        }\n        .norki-decor-intl-tapisserie__map-link-overlay--strasbourg {\n            left: 45.4392%; top: 14.5784%; width: 16.9027%; height: 6.4053%;\n        }\n        .norki-decor-intl-tapisserie__map-link-overlay--gstaad {\n            left: 61.250%; top: 24.6893%; width: 13.6692%; height: 6.4053%;\n        }\n        .norki-decor-intl-tapisserie__map-link-overlay--megeve {\n            left: 71.3564%; top: 33.9828%; width: 14.6542%; height: 6.6312%;\n        }\n    }\n\n    \/* Version Grand \u00c9cran \/ Bureau (ViewBox 2506.67 x 840.67) *\/\n    @media (min-width: 1501px) {\n        .norki-decor-intl-tapisserie__map-link-overlay--paris {\n            left: 39.6211%; top: 4.7926%; width: 9.5613%; height: 6.5424%;\n        }\n        .norki-decor-intl-tapisserie__map-link-overlay--strasbourg {\n            left: 48.1989%; top: 13.6225%; width: 13.6698%; height: 6.5424%;\n        }\n        .norki-decor-intl-tapisserie__map-link-overlay--gstaad {\n            left: 61.1167%; top: 23.9488%; width: 11.2165%; height: 6.5424%;\n        }\n        .norki-decor-intl-tapisserie__map-link-overlay--megeve {\n            left: 69.4397%; top: 33.4424%; width: 12.0247%; height: 6.7732%;\n        }\n    }\n\n    \/* --- CONTENU TEXTE &#038; ACTIONS --- *\/\n    .norki-decor-intl-tapisserie__content {\n        display: flex;\n        flex-direction: column;\n        gap: 15px;\n    }\n\n    .norki-decor-intl-tapisserie__content p {\n        margin: 0;\n        font-size: 0.95rem;\n        line-height: 1.5;\n    }\n\n    .norki-decor-intl-tapisserie__emphasis {\n        margin-top: 5px;\n        font-weight: 600;\n    }\n\n    \/* Style global des liens in-text (DA) *\/\n    .norki-decor-intl-tapisserie__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-decor-intl-tapisserie__link:hover {\n        text-decoration-color: transparent;\n        opacity: 0.7;\n    }\n\n    .norki-decor-intl-tapisserie__actions {\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n        margin-top: 20px;\n        width: 100%;\n        max-width: 280px;\n    }\n\n    .norki-decor-intl-tapisserie__btn {\n        display: inline-flex;\n        justify-content: center;\n        align-items: center;\n        padding: 4px 27px;\n        text-decoration: none;\n        font-size: 0.9rem;\n        font-weight: 500;\n        transition: all 0.3s ease;\n        border: 1px solid transparent;\n    }\n\n    .norki-decor-intl-tapisserie__btn--primary {\n        background-color: black;\n        color: #ffffff;\n        border-color: #000000;\n    }\n\n    .norki-decor-intl-tapisserie__btn--primary:hover {\n        background-color: #3f332e;\n        border-color: #3f332e;\n    }\n\n    .norki-decor-intl-tapisserie__btn--secondary {\n        color: black;\n        border-color: black;\n        background-color: transparent;\n    }\n\n    .norki-decor-intl-tapisserie__btn--secondary:hover {\n        background-color: black;\n        color: #ffffff;\n    }\n\n    \/* --- RESPONSIVE DESKTOP (GRID LAYOUT) --- *\/\n    @media (min-width: 1024px) {\n        .norki-decor-intl-tapisserie__header {\n            display: contents; \/* D\u00e9sactive le flex pour utiliser la grille parente *\/\n        }\n\n        .norki-decor-intl-tapisserie {\n            padding: var(--section-pad-v-dt, 80px) var(--section-pad-h-dt, 5vw);\n            padding-top: 0;\n            display: grid;\n            grid-template-columns: 35% 65%;\n            grid-template-areas:\n                \"hammer map\"\n                \"title map\"\n                \"content map\";\n            grid-template-rows: max-content max-content auto;\n            column-gap: 20px;\n            row-gap: 25px; \/* Espacement vertical entre les \u00e9l\u00e9ments de gauche *\/\n            align-items: center;\n        }\n\n        .norki-decor-intl-tapisserie__hammer {\n            grid-area: hammer;\n            align-self: end; \/* Aligne le marteau vers le bas de sa cellule *\/\n            width: 90px;\n            margin-bottom: 0;\n        }\n\n        .norki-decor-intl-tapisserie__title {\n            grid-area: title;\n            align-self: start;\n            z-index: 2;\n            position: relative;\n        }\n\n        .norki-decor-intl-tapisserie__content {\n            grid-area: content;\n            align-self: start;\n            max-width: 480px;\n            z-index: 2;\n            position: relative;\n        }\n\n        .norki-decor-intl-tapisserie__map-container {\n            grid-area: map;\n            margin: 0;\n            height: 100%;\n            position: relative;\n            z-index: 1;\n        }\n\n        \/* Utilisation du wrapper synchronis\u00e9 pour \u00e9tendre la carte sur desktop *\/\n        .norki-decor-intl-tapisserie__map-wrapper {\n            width: 125%; \n            max-width: none;\n            transform: translateX(-5%);\n            transform-origin: center left;\n        }\n    }\n<\/style>\n\n<section class=\"norki-decor-intl-tapisserie\">\n    \n    <div class=\"norki-decor-intl-tapisserie__header\">\n        <!-- Image Marteau -->\n        <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/hammer-and-nails-the-upholsterer-tools.png\" alt=\"Hammer and upholstery tacks\" class=\"norki-decor-intl-tapisserie__hammer\" loading=\"lazy\">\n\n        <h2 class=\"norki-decor-intl-tapisserie__title avenirmedium-font\">\n            Bespoke Upholstery for International Luxury Projects\n        <\/h2>\n    <\/div>\n\n    <div class=\"norki-decor-intl-tapisserie__map-container\">\n        <!-- WRAPPER : Synchronise l'image et ses calques cliquables sans d\u00e9formation -->\n        <div class=\"norki-decor-intl-tapisserie__map-wrapper\">\n            \n            <!-- 1. Source Bureau Large -->\n            <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/images\/Carte-Monde_Paris-Gstaad-Megeve.svg\" alt=\"Norki showroom locations map\" class=\"norki-decor-intl-tapisserie__map-img norki-decor-intl-tapisserie__img-default\" onerror=\"this.style.display='none';\">\n\n            <!-- 2. Source Tablette \/ Laptop -->\n            <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/images\/Carte-Monde-Responsive-2_Paris-Gstaad-Megeve.svg\" alt=\"Norki showroom locations map - Tablet\" class=\"norki-decor-intl-tapisserie__map-img norki-decor-intl-tapisserie__img-responsive\" onerror=\"this.style.display='none';\">\n\n            <!-- 3. Source Mobile \u00e9troit -->\n            <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/images\/Carte-Monde-Responsive_Paris-Gstaad-Megeve.svg\" alt=\"Norki showroom locations map - Mobile\" class=\"norki-decor-intl-tapisserie__map-img norki-decor-intl-tapisserie__img-mobile\" onerror=\"this.style.display='none';\">\n\n            <!-- OVERLAYS CLIQUEABLES (NEUTRES - SANS HOVER VISUEL CONFORM\u00c9MENT \u00c0 VOTRE DEMANDE) -->\n            <a href=\"https:\/\/www.norki.com\/en\/content\/15-cushion-rug-throw-furniture-luxury-decoration-shop-paris\" class=\"norki-decor-intl-tapisserie__map-link-overlay norki-decor-intl-tapisserie__map-link-overlay--paris\" title=\"Discover our Paris showroom\"><\/a>\n               \n            <!-- LIEN STRASBOURG POINTANT VERS L'ATELIER (EN) -->\n            <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/\" class=\"norki-decor-intl-tapisserie__map-link-overlay norki-decor-intl-tapisserie__map-link-overlay--strasbourg\" title=\"Discover our Workshop\"><\/a>\n               \n            <a href=\"https:\/\/www.norki.com\/en\/content\/17-luxury-shopping-gstaad-interior-design-buy-rug-throw-cushion-furniture\" class=\"norki-decor-intl-tapisserie__map-link-overlay norki-decor-intl-tapisserie__map-link-overlay--gstaad\" title=\"Discover our Gstaad showroom\"><\/a>\n               \n            <a href=\"https:\/\/www.norki.com\/en\/content\/16-luxury-interior-design-chalet-megeve-throw-cushion-rug-furniture\" class=\"norki-decor-intl-tapisserie__map-link-overlay norki-decor-intl-tapisserie__map-link-overlay--megeve\" title=\"Discover our Meg\u00e8ve showroom\"><\/a>\n               \n        <\/div>\n    <\/div>\n\n    <div class=\"norki-decor-intl-tapisserie__content\">\n        <p>Based in <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/contact-us\/\" class=\"norki-decor-intl-tapisserie__link\" title=\"Contact our workshops in Strasbourg\">Strasbourg<\/a>, our <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-interior-design-studio-furniture-rugs\/\" class=\"norki-decor-intl-tapisserie__link\" title=\"Discover our Design Studio\">Design Studio<\/a> ensures every project perfectly aligns with our clients' expectations\u2014from initial concept to final execution.<\/p>\n        \n        <p>Through the seamless synergy of our offices in <a href=\"https:\/\/www.norki.com\/en\/content\/15-cushion-rug-throw-furniture-luxury-decoration-shop-paris\" class=\"norki-decor-intl-tapisserie__link\" title=\"Discover our Paris showroom\">Paris<\/a>, <a href=\"https:\/\/www.norki.com\/en\/content\/17-luxury-shopping-gstaad-interior-design-buy-rug-throw-cushion-furniture\" class=\"norki-decor-intl-tapisserie__link\" title=\"Discover our Gstaad showroom\">Gstaad<\/a>, and <a href=\"https:\/\/www.norki.com\/en\/content\/16-luxury-interior-design-chalet-megeve-throw-cushion-rug-furniture\" class=\"norki-decor-intl-tapisserie__link\" title=\"Discover our Meg\u00e8ve showroom\">Meg\u00e8ve<\/a>, NORKI manages high-end interior design projects worldwide. Our master upholsterers provide dedicated on-site installation for all your custom <a href=\"https:\/\/www.norki.com\/en\/25-designer-haute-couture-furniture-collection-norki\" class=\"norki-decor-intl-tapisserie__link\" title=\"Discover our range of furniture\">furniture<\/a>, <a href=\"#headboard\" class=\"norki-decor-intl-tapisserie__link\" title=\"Discover our bespoke headboards\">bespoke headboards<\/a>, and private home cinemas.<\/p>\n        \n        <p class=\"norki-decor-intl-tapisserie__emphasis\">Create your custom seating with the Norki expert team!<\/p>\n\n        <div class=\"norki-decor-intl-tapisserie__actions\">\n            <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/contact-us\/\" class=\"norki-decor-intl-tapisserie__btn norki-decor-intl-tapisserie__btn--primary\" title=\"Send an email to our Design Studio\">Contact Our Design Studio<\/a>\n            <a href=\"https:\/\/api.whatsapp.com\/send?phone=33647923857\" class=\"norki-decor-intl-tapisserie__btn norki-decor-intl-tapisserie__btn--secondary\" target=\"_blank\" rel=\"noopener\" title=\"Contact us directly on WhatsApp\">WhatsApp Us<\/a>\n        <\/div>\n    <\/div>\n\n<\/section>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bespoke Upholstery French Traditional Craftsmanship Our Craftsmanship Fur Couture EPV Upholstery Furnishing Couture Bespoke Rugs Embroidery Our Expertise \u2013 Excellence at the Heart of Our Workshop At the heart of our Workshop, each creation is the result of meticulous artisanal know-how. Our workshop manager, trained with the Compagnons du Devoir, leads a team of craftswomen [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"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 *\/\n\n.wp-block-paragraph {\n\tmargin: 0;\n}","_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-4298","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Bespoke Upholstery &amp; Vintage Restoration | Norki<\/title>\n<meta name=\"description\" content=\"From restored vintage pieces to bespoke home cinemas, our craftswomen elevate your luxury projects with the excellence of French upholstery.\" \/>\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\/bespoke-upholstery-services\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bespoke Upholstery &amp; Vintage Restoration | Norki\" \/>\n<meta property=\"og:description\" content=\"From restored vintage pieces to bespoke home cinemas, our craftswomen elevate your luxury projects with the excellence of French upholstery.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/\" \/>\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-07-07T11:04:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/tapiserie-ameublement-tradition-francaise-norki.jpg\" \/>\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=\"8 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\\\/bespoke-upholstery-services\\\/\",\"url\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/bespoke-upholstery-services\\\/\",\"name\":\"Bespoke Upholstery & Vintage Restoration | Norki\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/sur-mesure\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/bespoke-upholstery-services\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/bespoke-upholstery-services\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/norki.com\\\/sur-mesure\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/tapiserie-ameublement-tradition-francaise-norki.jpg\",\"datePublished\":\"2026-06-08T11:01:07+00:00\",\"dateModified\":\"2026-07-07T11:04:33+00:00\",\"description\":\"From restored vintage pieces to bespoke home cinemas, our craftswomen elevate your luxury projects with the excellence of French upholstery.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/bespoke-upholstery-services\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/bespoke-upholstery-services\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/bespoke-upholstery-services\\\/#primaryimage\",\"url\":\"https:\\\/\\\/norki.com\\\/sur-mesure\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/tapiserie-ameublement-tradition-francaise-norki.jpg\",\"contentUrl\":\"https:\\\/\\\/norki.com\\\/sur-mesure\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/tapiserie-ameublement-tradition-francaise-norki.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/bespoke-upholstery-services\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.norki.com\\\/fr\\\/sur-mesure\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Upholstery\"}]},{\"@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":"Bespoke Upholstery & Vintage Restoration | Norki","description":"From restored vintage pieces to bespoke home cinemas, our craftswomen elevate your luxury projects with the excellence of French upholstery.","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\/bespoke-upholstery-services\/","og_locale":"fr_FR","og_type":"article","og_title":"Bespoke Upholstery & Vintage Restoration | Norki","og_description":"From restored vintage pieces to bespoke home cinemas, our craftswomen elevate your luxury projects with the excellence of French upholstery.","og_url":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/","og_site_name":"Norki","article_publisher":"https:\/\/facebook.com\/NorkiDecoration","article_modified_time":"2026-07-07T11:04:33+00:00","og_image":[{"url":"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/tapiserie-ameublement-tradition-francaise-norki.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/","url":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/","name":"Bespoke Upholstery & Vintage Restoration | Norki","isPartOf":{"@id":"https:\/\/www.norki.com\/sur-mesure\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/#primaryimage"},"image":{"@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/#primaryimage"},"thumbnailUrl":"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/tapiserie-ameublement-tradition-francaise-norki.jpg","datePublished":"2026-06-08T11:01:07+00:00","dateModified":"2026-07-07T11:04:33+00:00","description":"From restored vintage pieces to bespoke home cinemas, our craftswomen elevate your luxury projects with the excellence of French upholstery.","breadcrumb":{"@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/#primaryimage","url":"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/tapiserie-ameublement-tradition-francaise-norki.jpg","contentUrl":"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/tapiserie-ameublement-tradition-francaise-norki.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.norki.com\/fr\/sur-mesure\/"},{"@type":"ListItem","position":2,"name":"Upholstery"}]},{"@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 Upholstery French Traditional Craftsmanship Our Craftsmanship Fur Couture EPV Upholstery Furnishing Couture Bespoke Rugs Embroidery Our Expertise \u2013 Excellence at the Heart of Our Workshop At the heart of our Workshop, each creation is the result of meticulous artisanal know-how. Our workshop manager, trained with the Compagnons du Devoir, leads a team of craftswomen\u2026","_links":{"self":[{"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/4298","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=4298"}],"version-history":[{"count":10,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/4298\/revisions"}],"predecessor-version":[{"id":4846,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/4298\/revisions\/4846"}],"wp:attachment":[{"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/media?parent=4298"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/categories?post=4298"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/tags?post=4298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}