{"id":3649,"date":"2026-05-28T10:04:58","date_gmt":"2026-05-28T08:04:58","guid":{"rendered":"https:\/\/norki.com\/sur-mesure\/?page_id=3649"},"modified":"2026-07-21T12:34:27","modified_gmt":"2026-07-21T10:34:27","slug":"gabriel-bernardi-brighton","status":"publish","type":"page","link":"https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/gabriel-bernardi-brighton\/","title":{"rendered":"Villa Angleterre"},"content":{"rendered":"\n<section class=\"nk-hero\">\n  <div class=\"nk-hero__bg\">\n    <!-- Int\u00e9gration de l'image de la villa de Brighton (R\u00e9f: image_54f835.jpg) -->\n    <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/villa-angleterre-hero.png\" alt=\"Villa en Bord de Mer, Brighton\" loading=\"eager\">\n    <div class=\"nk-hero__overlay\"><\/div>\n  <\/div>\n  \n  <div class=\"nk-hero__content\">\n    <div class=\"nk-hero__header\">\n      <!-- Wrapper pour le titre principal -->\n      <div class=\"nk-hero__title-wrapper\">\n        <h1 class=\"nk-hero__title avenirmedium-font\">Villa en Bord de Mer<\/h1>\n      <\/div>\n      <!-- Wrapper pour le sous-titre de localisation -->\n      <div class=\"nk-hero__subtitle-wrapper\">\n        <span class=\"nk-hero__subtitle baskerville-italic-font\">Brighton<\/span>\n      <\/div>\n    <\/div>\n    \n    <hr class=\"nk-hero__divider\">\n    \n    <!-- M\u00e9ta-informations d\u00e9filantes adapt\u00e9es \u00e0 la r\u00e9alisation de Brighton -->\n    <div class=\"nk-hero__meta\">\n      <span class=\"nk-hero__meta-item avenirmedium-font\">Brighton, Angleterre<\/span>\n      <span class=\"nk-hero__meta-item avenirmedium-font\">2019<\/span>\n      <span class=\"nk-hero__meta-item\">Canap\u00e9s sur mesure<\/span>\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n\/* ==========================================================================\n   DESIGN SYSTEM & VARIABLES LOCALES (Gabarit strict de l'int\u00e9gration)\n   ========================================================================== *\/\n.nk-hero {\n  position: relative;\n  width: 100%;\n  \/* Hauteur fix\u00e9e au-dessus de 100vh pour inciter naturellement l'utilisateur \u00e0 scroller *\/\n  height: 120vh; \n  min-height: 700px;\n  overflow: hidden;\n  background-color: #000000;\n}\n\n.nk-hero__bg {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  z-index: 1;\n}\n\n.nk-hero__bg img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  object-position: center center;\n  display: block;\n}\n\n\/* D\u00e9grad\u00e9 lin\u00e9aire sombre optimis\u00e9 pour assurer un contraste parfait sur les textes *\/\n.nk-hero__overlay {\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 40%;\n  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%);\n  z-index: 2;\n  pointer-events: none;\n}\n\n.nk-hero__content {\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  z-index: 3;\n  padding: 0 40px 40px 40px;\n  color: #ffffff;\n  box-sizing: border-box;\n}\n\n\/* En-t\u00eate de contenu (Titres align\u00e9s et espac\u00e9s du filet s\u00e9parateur) *\/\n.nk-hero__header {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-end;\n  margin-bottom: 35px; \/* Espacement accru pour d\u00e9tacher visuellement les titres *\/\n  gap: 20px;\n  width: 100%;\n}\n\n.nk-hero__title-wrapper {\n  flex: 1 1 65%;\n  max-width: calc(100% - 250px);\n}\n\n.nk-hero__subtitle-wrapper {\n  flex: 0 0 auto;\n  text-align: right;\n  min-width: max-content;\n}\n\n.nk-hero__title {\n  color: white;\n  font-size: clamp(2.2rem, 3.2vw, 3.2rem);\n  letter-spacing: 0.02em;\n  line-height: 1.1;\n  font-weight: normal;\n  margin: 0;\n}\n\n.nk-hero__subtitle {\n  font-size: clamp(2.2rem, 3.2vw, 3.2rem);\n  line-height: 1.1;\n  font-weight: normal;\n  display: block;\n}\n\n\/* Filet blanc d\u00e9licat *\/\n.nk-hero__divider {\n  width: 100%;\n  height: 1px;\n  background-color: rgba(255, 255, 255, 0.6);\n  border: none;\n  margin-bottom: 16px;\n}\n\n\/* Informations de m\u00e9tadonn\u00e9es *\/\n.nk-hero__meta {\n  display: flex;\n  justify-content: flex-start;\n  gap: 40px; \/* Distribution r\u00e9guli\u00e8re des \u00e9l\u00e9ments *\/\n}\n\n.nk-hero__meta-item {\n  font-size: 0.75rem;\n  letter-spacing: 0.05em;\n  text-transform: capitalize;\n}\n\n\/* ==========================================================================\n    RESPONSIVE TABLETTE (\u2264 1024px)\n   ========================================================================== *\/\n@media (max-width: 1024px) {\n  .nk-hero__content {\n    padding: 0 30px 30px 30px;\n  }\n  .nk-hero__title,\n  .nk-hero__subtitle {\n    font-size: clamp(1.8rem, 2.8vw, 2.4rem);\n  }\n  .nk-hero__meta {\n    gap: 30px;\n  }\n}\n\n\/* ==========================================================================\n    RESPONSIVE MOBILE (\u2264 640px)\n   ========================================================================== *\/\n@media (max-width: 640px) {\n  .nk-hero {\n    height: 110vh; \n  }\n\n  .nk-hero__bg img {\n    object-position: 40% center;\n  }\n\n  .nk-hero__content {\n    padding: 0 20px 24px 20px;\n  }\n\n  .nk-hero__header {\n    flex-direction: column;\n    align-items: flex-start;\n    gap: 8px;\n    margin-bottom: 20px;\n  }\n\n  .nk-hero__title-wrapper,\n  .nk-hero__subtitle-wrapper {\n    flex: none;\n    max-width: 100%;\n    min-width: 0;\n  }\n\n  .nk-hero__subtitle-wrapper {\n    text-align: left;\n  }\n\n  .nk-hero__title {\n    font-size: 1.8rem;\n  }\n\n  .nk-hero__subtitle {\n    font-size: 1.7rem;\n  }\n\n  \/* Configuration du scroll horizontal fluide sur mobile *\/\n  .nk-hero__meta {\n    flex-wrap: nowrap;\n    gap: 25px;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n    scrollbar-width: none;\n    -ms-overflow-style: none;\n    padding-bottom: 2px;\n    padding-left: 8px; \/* Marge pour \u00e9viter que les premi\u00e8res lettres soient rogn\u00e9es *\/\n    padding-right: 8px;\n  }\n  \n  .nk-hero__meta::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nk-hero__meta-item {\n    white-space: nowrap;\n    flex-shrink: 0;\n  }\n\n  .nk-hero__meta-item:nth-child(3) {\n    margin-left: 0;\n    flex-basis: auto;\n    margin-top: 0;\n  }\n}\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n  const metaContainer = document.querySelector('.nk-hero__meta');\n  if (!metaContainer) return;\n\n  let isAnimating = false;\n  let animationFrameId;\n  let direction = 1; \/\/ 1 = droite, -1 = gauche\n  let speed = 0.5; \/\/ Vitesse tr\u00e8s douce (0.5 pixel par frame pour une fluidit\u00e9 maximale)\n  let resumeTimeout;\n  let extremityTimeout; \/\/ Pour g\u00e9rer la pause aux extr\u00e9mit\u00e9s\n  let isInteracting = false;\n  let isPausedAtExtremity = false;\n  let currentScroll = metaContainer.scrollLeft;\n\n  \/\/ Fonction d'animation \"va-et-vient\" fluide\n  function autoScroll() {\n    if (isInteracting) return;\n    if (isPausedAtExtremity) {\n       animationFrameId = requestAnimationFrame(autoScroll);\n       return;\n    }\n    \n    \/\/ Si pas de d\u00e9bordement de contenu, l'animation reste en veille\n    if (metaContainer.scrollWidth <= metaContainer.clientWidth) {\n       animationFrameId = requestAnimationFrame(autoScroll);\n       return;\n    }\n\n    currentScroll += speed * direction;\n    metaContainer.scrollLeft = Math.round(currentScroll);\n\n    const maxScroll = metaContainer.scrollWidth - metaContainer.clientWidth;\n\n    \/\/ PROTECTION ANTI-WORDPRESS : Remplacement des esperluettes \"&#038;&#038;\" par des IF imbriqu\u00e9s\n    if (direction === 1) {\n      if (metaContainer.scrollLeft >= maxScroll - 1) {\n        isPausedAtExtremity = true;\n        extremityTimeout = setTimeout(() => {\n          direction = -1;\n          currentScroll = metaContainer.scrollLeft;\n          isPausedAtExtremity = false;\n        }, 2000); \/\/ Pause de 2 secondes \u00e0 l'extr\u00e9mit\u00e9 droite\n      }\n    } else if (direction === -1) {\n      if (metaContainer.scrollLeft <= 1) {\n        isPausedAtExtremity = true;\n        extremityTimeout = setTimeout(() => {\n          direction = 1;\n          currentScroll = metaContainer.scrollLeft;\n          isPausedAtExtremity = false;\n        }, 2000); \/\/ Pause de 2 secondes \u00e0 l'extr\u00e9mit\u00e9 gauche\n      }\n    }\n\n    animationFrameId = requestAnimationFrame(autoScroll);\n  }\n\n  \/\/ D\u00e9marrer l'animation\n  function startAnimation() {\n    if (!isAnimating) {\n      isAnimating = true;\n      currentScroll = metaContainer.scrollLeft;\n      \n      \/\/ Pause de s\u00e9curit\u00e9 de 2 secondes lors du chargement ou de l'apparition\n      isPausedAtExtremity = true;\n      clearTimeout(extremityTimeout);\n      extremityTimeout = setTimeout(() => {\n        isPausedAtExtremity = false;\n      }, 2000);\n\n      autoScroll();\n    }\n  }\n\n  \/\/ Arr\u00eater l'animation\n  function stopAnimation() {\n    isAnimating = false;\n    cancelAnimationFrame(animationFrameId);\n  }\n\n  \/\/ Suspension temporaire lors des interactions de l'utilisateur\n  function handleInteraction() {\n    isInteracting = true;\n    isPausedAtExtremity = false;\n    clearTimeout(extremityTimeout);\n    stopAnimation();\n    clearTimeout(resumeTimeout);\n    \n    \/\/ Reprise automatique apr\u00e8s 3 secondes d'inactivit\u00e9 (uniquement sur mobile)\n    resumeTimeout = setTimeout(() => {\n      isInteracting = false;\n      if (window.innerWidth <= 640) {\n        currentScroll = metaContainer.scrollLeft;\n        startAnimation();\n      }\n    }, 3000);\n  }\n\n  \/\/ Activation de l'animation par Intersection Observer uniquement si l'\u00e9l\u00e9ment est visible \u00e0 l'\u00e9cran\n  const observer = new IntersectionObserver((entries) => {\n    entries.forEach(entry => {\n      if (entry.isIntersecting) {\n        if (window.innerWidth <= 640) {\n            startAnimation();\n        }\n      } else {\n        stopAnimation();\n      }\n    });\n  }, { threshold: 0 });\n\n  observer.observe(metaContainer);\n\n  \/* \u00c9couteurs d'\u00e9v\u00e9nements tactiles et molette *\/\n  metaContainer.addEventListener('touchstart', () => {\n    currentScroll = metaContainer.scrollLeft; \n    handleInteraction();\n  }, { passive: true });\n  \n  metaContainer.addEventListener('touchmove', () => {\n    currentScroll = metaContainer.scrollLeft; \n    handleInteraction();\n  }, { passive: true });\n  \n  metaContainer.addEventListener('wheel', handleInteraction, { passive: true });\n\n  \/\/ R\u00e9initialisation en cas de redimensionnement de l'\u00e9cran\n  window.addEventListener('resize', () => {\n    if (window.innerWidth > 640) {\n       stopAnimation();\n       metaContainer.scrollLeft = 0;\n       currentScroll = 0;\n    } else {\n       if (!isInteracting) {\n         startAnimation();\n       }\n    }\n  });\n});\n<\/script>\n\n\n\n<section class=\"nk-intro\">\n  <div class=\"nk-intro__inner\">\n    <div class=\"nk-intro__header\">\n      <h2 class=\"nk-intro__title avenirmedium-font\">\n        L&rsquo;Exclusivit\u00e9 du Bord de Mer\n        <span class=\"nk-intro__title-accent baskerville-italic-font\">Gabriel Bernardi d\u00e9cline la British Touch<\/span>\n      <\/h2>\n    <\/div>\n    \n    <div class=\"nk-intro__content\">\n      <p class=\"nk-intro__paragraph nk-intro__lead\">\n        Si la <a href=\"https:\/\/www.norki.com\/fr\/\" class=\"nk-intro__inline-link\" target=\"_blank\" rel=\"noopener\" title=\"Visiter la Maison Norki\">Maison Norki<\/a> est mondialement reconnue pour ses am\u00e9nagements de chalets prestigieux, elle d\u00e9montre ici sa capacit\u00e9 \u00e0 s&rsquo;adapter avec brio et exclusivit\u00e9 aux projets de bord de mer.\n      <\/p>\n      <p class=\"nk-intro__paragraph\">\n        Cette demeure d&rsquo;exception, situ\u00e9e sur le littoral Britannique, s&rsquo;inscrit parfaitement dans l&rsquo;esprit raffin\u00e9 et chaleureux des <strong>cottages anglais<\/strong>. L&rsquo;architecture int\u00e9rieure privil\u00e9gie la sobri\u00e9t\u00e9 chromatique, un confort absolu et de larges ouvertures qui transforment le paysage marin en un tableau permanent.\n      <\/p>\n      \n      <div class=\"nk-intro__action\">\n        <a href=\"https:\/\/www.norki.com\/fr\/\" class=\"nk-intro__btn\" target=\"_blank\" rel=\"noopener\">D\u00e9couvrir l&rsquo;univers Maison Norki<\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n\n\/* ============================================\n   LAYOUT PRINCIPAL\n============================================ *\/\n.nk-intro {\n  background-color: var(--color-norki-beige);\n  padding: var(--section-pad-v-dt) var(--section-pad-h-dt);\n  width: 100%;\n  display: flex;\n  justify-content: center;\n  box-sizing: border-box;\n}\n\n.nk-intro__inner {\n  width: 100%;\n  max-width: 1400px;\n  display: grid;\n  grid-template-columns: 1fr 1.6fr; \/* Ratio asym\u00e9trique \u00e9l\u00e9gant *\/\n  gap: clamp(40px, 6vw, 100px); \/* Espacement horizontal fluide *\/\n  align-items: start;\n}\n\n\/* ============================================\n   TYPOGRAPHIE ET LIENS\n============================================ *\/\n.nk-intro__header {\n  display: flex;\n  flex-direction: column;\n  justify-content: flex-start;\n}\n\n.nk-intro__title {\n  font-size: clamp(1.4rem, 2.2vw, 25px);\n  line-height: 1.25;\n  color: #000000;\n  font-weight: normal;\n  letter-spacing: -0.01em;\n  margin: 0 !important;\n}\n\n.nk-intro__title-accent {\n  display: block;\n  font-size: 0.95em;\n  color: #000000;\n  margin-top: 8px;\n}\n\n.nk-intro__content {\n  display: flex;\n  flex-direction: column;\n  gap: 24px;\n  justify-content: flex-start;\n}\n\n.nk-intro__paragraph {\n  font-size: clamp(0.92rem, 1.1vw, 1.05rem);\n  line-height: 1.7;\n  color: #000000;\n  letter-spacing: 0.01em;\n  max-width: 90%;\n  margin: 0 !important;\n}\n\n\/* Accentuation s\u00e9mantique *\/\n.nk-intro__paragraph strong {\n  font-weight: 600;\n}\n\n.nk-intro__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.nk-intro__inline-link:hover {\n  text-decoration-color: transparent;\n  opacity: 0.7;\n}\n\n\/* ============================================\n   BOUTON\n============================================ *\/\n.nk-intro__action {\n  margin-top: 8px;\n}\n\n.nk-intro__btn {\n  display: inline-block;\n  background-color: #000000;\n  color: var(--color-norki-beige);\n  padding: 4px 27px;\n  font-size: 0.9rem;\n  text-decoration: none;\n  border: 1px solid #000000;\n  transition: background-color 0.3s ease, color 0.3s ease;\n  cursor: pointer;\n  text-align: center;\n}\n\n.nk-intro__btn:hover {\n  background-color: transparent;\n  color: #000000;\n}\n\n\/* ============================================\n   RESPONSIVE TABLETTE (\u2264 1024px)\n============================================ *\/\n@media (max-width: 1024px) {\n  .nk-intro {\n    padding: var(--section-pad-v-tab) var(--section-pad-h-tab);\n  }\n  \n  .nk-intro__inner {\n    grid-template-columns: 1fr;\n    gap: 32px;\n  }\n  \n  .nk-intro__title, .nk-intro__paragraph {\n    max-width: 100%;\n  }\n  \n  .nk-intro__paragraph {\n    text-align: left;\n  }\n}\n\n\/* ============================================\n   RESPONSIVE MOBILE (\u2264 640px)\n============================================ *\/\n@media (max-width: 640px) {\n  .nk-intro {\n    padding: var(--section-pad-v-mob) var(--section-pad-h-mob);\n  }\n  \n  .nk-intro__inner {\n    gap: 24px;\n  }\n  \n  .nk-intro__title, .nk-intro__paragraph {\n    max-width: 100%;\n  }\n  \n  .nk-intro__action {\n    margin-top: 4px;\n  }\n}\n<\/style>\n\n\n\n<section class=\"nk-simple-image\">\n  <!-- Image cliquable -->\n  <a href=\"https:\/\/www.norki.com\/fr\/sur-mesure\/tapisserie-ameublement-sur-mesure\/\" class=\"nk-simple-image__wrapper\" title=\"D\u00e9couvrir les cr\u00e9ations sur mesure Maison Norki\" target=\"_blank\" rel=\"noopener\">\n    <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/Cowhide-custom-sofas_Norki.png\" alt=\"Salon d'exception avec canap\u00e9s sur mesure en peau de vache, r\u00e9alisation Maison Norki - Villa Brighton\" class=\"nk-simple-image__img\" loading=\"lazy\">\n  <\/a>\n  \n  <!-- L\u00e9gende cliquable avec le style \u00e9ditorial haut de gamme -->\n  <div class=\"nk-simple-image__caption\">\n    <a href=\"https:\/\/www.norki.com\/fr\/sur-mesure\/tapisserie-ameublement-sur-mesure\/\" class=\"nk-editorial-inline-link\" title=\"D\u00e9couvrir les cr\u00e9ations sur mesure Maison Norki\" target=\"_blank\" rel=\"noopener\">\n      Canap\u00e9s sur mesure en peau de vache\n    <\/a>\n  <\/div>\n<\/section>\n\n<style>\n\/* ==========================================================================\n   DESIGN SYSTEM & VARIABLES LOCALES (Harmonisation Brighton)\n   ========================================================================== *\/\n:root {\n  \/* Teinte beige d'apr\u00e8s la colorim\u00e9trie de la Villa Brighton *\/\n  --color-norki-beige: #f5eee6;\n  --section-pad-h-dt: 100px;\n  --section-pad-h-tab: 40px;\n  --section-pad-h-mob: 24px;\n}\n\n\/* Polices de la charte graphique Norki *\/\n.nk-simple-image {\n  font-family: \"Avenir Next\", Avenir, \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n\n.nk-editorial-inline-link {\n  font-family: Baskerville, \"Playfair Display\", Georgia, serif;\n  font-style: italic;\n}\n\n\/* ==========================================================================\n   COMPOSANT : SECTION IMAGE UNIQUE IMMERSIVE\n   ========================================================================== *\/\n.nk-simple-image {\n  width: 100%;\n  background-color: var(--color-norki-beige);\n  line-height: 0; \/* \u00c9vite un d\u00e9calage de pixel parasite sous l'image *\/\n  overflow: hidden;\n  padding-bottom: 25px; \/* Espace de respiration sous la l\u00e9gende *\/\n}\n\n.nk-simple-image__wrapper {\n  display: block; \/* N\u00e9cessaire pour la balise <a> cliquable *\/\n  width: 100%;\n  height: 85vh; \/* Hauteur immersive et \u00e9l\u00e9gante sur PC *\/\n  min-height: 500px;\n  overflow: hidden;\n}\n\n.nk-simple-image__img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  object-position: center center; \/* Cadrage panoramique \u00e9quilibr\u00e9 sur le grand salon *\/\n  transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);\n}\n\n\/* L\u00e9ger effet de zoom luxueux et fluide au survol *\/\n.nk-simple-image__wrapper:hover .nk-simple-image__img {\n  transform: scale(1.02);\n}\n\n\/* Styles des l\u00e9gendes sous les images *\/\n.nk-simple-image__caption {\n  display: block;\n  font-size: 0.9rem; \n  margin-top: 14px;\n  text-align: right;\n  color: #000000;\n  line-height: normal; \/* Annule le line-height 0 du parent pour l'affichage de texte *\/\n  padding-right: var(--section-pad-h-dt); \/* Alignement parfait sur la grille *\/\n}\n\n\/* Style de lien \u00e9ditorial *\/\n.nk-editorial-inline-link {\n  color: inherit;\n  text-decoration: underline;\n  text-decoration-color: currentColor;\n  text-underline-offset: 4px;\n  text-decoration-thickness: 1px;\n  transition: text-decoration-color 0.3s ease, opacity 0.3s ease;\n  font-weight: normal;\n}\n\n.nk-editorial-inline-link:hover {\n  text-decoration-color: transparent;\n  opacity: 0.7;\n}\n\n\/* ==========================================================================\n   RESPONSIVE TABLETTE & MOBILE\n   ========================================================================== *\/\n@media (max-width: 1024px) {\n  .nk-simple-image__caption {\n    padding-right: var(--section-pad-h-tab);\n  }\n}\n\n@media (max-width: 767px) {\n  .nk-simple-image__caption {\n    padding-right: var(--section-pad-h-mob);\n    font-size: 0.85rem;\n  }\n}\n\n@media (max-width: 640px) {\n  .nk-simple-image__wrapper {\n    height: 60vh; \/* Hauteur optimis\u00e9e pour le format mobile *\/\n    min-height: 380px;\n  }\n}\n<\/style>\n\n\n\n<section class=\"nk-partner-showcase\">\n  <div class=\"nk-partner-showcase__inner\">\n    \n    <!-- Colonne 1 : Texte descriptif -->\n    <div class=\"nk-partner-showcase__text-col\">\n      <p class=\"nk-partner-showcase__paragraph\">\n        Pour orchestrer ce projet, le prestigieux cabinet londonien <a href=\"https:\/\/studio-bernardi.com\/\" class=\"nk-intro__inline-link\" title=\"D\u00e9couvrir le studio Bernardi\" target=\"_blank\" rel=\"noopener\">Gabriel Bernardi<\/a> a insuffl\u00e9 une philosophie o\u00f9 la qu\u00eate de la beaut\u00e9 est centrale. Pour le Studio Bernardi, la beaut\u00e9 n&rsquo;est ni une question de mode ni de tendance ; il s&rsquo;agit de cr\u00e9er une harmonie durable. Qu&rsquo;il soit contemporain ou classique, chaque projet est guid\u00e9 par des principes universels de proportion et d&rsquo;\u00e9quilibre, garantissant que chaque espace traverse le temps sans perdre de sa superbe.\n      <\/p>\n    <\/div>\n\n    <!-- Colonne 2 : Logo (Bloc blanc carr\u00e9) -->\n    <div class=\"nk-partner-showcase__logo-col\">\n      <div class=\"nk-partner-showcase__logo-wrapper\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/Logo-Gabriel-Bernardi.jpg\" alt=\"Logo Gabriel Bernardi - Interior Architects\" class=\"nk-partner-showcase__logo-img\" loading=\"lazy\">\n      <\/div>\n    <\/div>\n\n    <!-- Colonne 3 : Photographie -->\n    <div class=\"nk-partner-showcase__photo-col\">\n      <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/rue-residentielle-typique-londres-appartement-facades-blanches-1536x1024.jpg\" alt=\"Fa\u00e7ades blanches typiques d'une rue r\u00e9sidentielle de Londres, avec une voiture classique\" class=\"nk-partner-showcase__photo-img\" loading=\"lazy\">\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<style>\n\/* ==========================================================================\n   DESIGN SYSTEM & VARIABLES LOCALES\n   ========================================================================== *\/\n:root {\n    --wp--preset--color--contrast: black;\n    \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\/* ==========================================================================\n   STYLES DU COMPOSANT\n   ========================================================================== *\/\n.nk-partner-showcase {\n  font-family: var(--font-montserrat);\n  background-color: var(--color-norki-beige);\n  padding: var(--section-pad-v-dt) var(--section-pad-h-dt);\n  width: 100%;\n  box-sizing: border-box;\n}\n\n\/* ==========================================================================\n   LAYOUT GRID PRINCIPAL (3 Colonnes)\n   ========================================================================== *\/\n.nk-partner-showcase__inner {\n  margin: 0 auto;\n  display: grid;\n  grid-template-columns: 22% 22% 47%; \n  justify-content: space-between;\n  align-items: start;\n  gap: clamp(20px, 3vw, 40px);\n}\n\n\/* ==========================================================================\n   COLONNE 1 : TEXTE\n   ========================================================================== *\/\n.nk-partner-showcase__text-col {\n  padding-top: 5px; \/* Micro-ajustement pour l'alignement optique avec le logo\/image *\/\n}\n\n.nk-partner-showcase__paragraph {\n  font-size: 0.95rem;\n  line-height: 1.6;\n  color: var(--wp--preset--color--contrast);\n  margin: 0;\n  text-align-last: left;\n  letter-spacing: -0.01em;\n}\n\n.nk-partner-showcase__paragraph strong {\n  font-weight: 600;\n  \/* Optionnel : tu peux appliquer la couleur brown ici si tu le souhaites *\/\n  \/* color: var(--color-norki-brown); *\/\n}\n\n\/* ==========================================================================\n   COLONNE 2 : LOGO\n   ========================================================================== *\/\n.nk-partner-showcase__logo-col {\n  width: 100%;\n  max-width: 550px;\n}\n\n.nk-partner-showcase__logo-wrapper {\n  background-color: #ffffff;\n  width: 100%;\n  aspect-ratio: 1 \/ 1; \/* Force le format carr\u00e9 vu sur la maquette *\/\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 15%;\n  box-sizing: border-box;\n}\n\n.nk-partner-showcase__logo-img {\n  width: 100%;\n  height: auto;\n  max-height: 100%;\n  object-fit: contain;\n}\n\n\/* ==========================================================================\n   COLONNE 3 : PHOTOGRAPHIE\n   ========================================================================== *\/\n.nk-partner-showcase__photo-col {\n  width: 100%;\n  height: 100%;\n  max-width: 1000px;\n}\n\n.nk-partner-showcase__photo-img {\n  width: 100%;\n  height: auto; \/* Respecte le ratio naturel de l'image (paysage) *\/\n  display: block;\n  object-fit: cover;\n}\n\n\/* ==========================================================================\n   RESPONSIVE TABLETTE (\u2264 1024px)\n   ========================================================================== *\/\n@media (max-width: 1024px) {\n  .nk-partner-showcase {\n    padding: var(--section-pad-v-tab) var(--section-pad-h-tab);\n  }\n\n  .nk-partner-showcase__inner {\n    \/* Passage \u00e0 2 colonnes : Texte + Logo en haut, Image en bas *\/\n    grid-template-columns: 1fr 1fr;\n    gap: 30px;\n  }\n\n  .nk-partner-showcase__photo-col {\n    grid-column: 1 \/ -1; \/* L'image prend toute la largeur *\/\n  }\n}\n\n\/* ==========================================================================\n   RESPONSIVE MOBILE (\u2264 640px)\n   ========================================================================== *\/\n@media (max-width: 640px) {\n  .nk-partner-showcase {\n    padding: var(--section-pad-v-mob) var(--section-pad-h-mob);\n  }\n\n  .nk-partner-showcase__inner {\n    \/* Tout passe en 1 colonne empil\u00e9e *\/\n    grid-template-columns: 1fr;\n    gap: 24px;\n  }\n\n  .nk-partner-showcase__paragraph {\n    text-align: left; \/* On retire le justifi\u00e9 sur mobile pour la lisibilit\u00e9 *\/\n  }\n\n  .nk-partner-showcase__logo-wrapper {\n    padding: 20%;\n    max-width: 300px;\n    margin: 0 auto; \/* Centrage du logo carr\u00e9 sur mobile *\/\n  }\n}\n<\/style>\n\n\n\n<section class=\"nk-savoir-faire\">\n  <div class=\"nk-savoir-faire__inner\">\n    \n    <!-- Ligne 1 : En-t\u00eate (Titre + Texte) -->\n    <div class=\"nk-savoir-faire__header\">\n      <h2 class=\"nk-savoir-faire__title avenirmedium-font\">Le savoir-faire Norki : La cr\u00e9ation de canap\u00e9s sur mesure en peau de vache<\/h2>\n      <p class=\"nk-savoir-faire__paragraph\">\n        Au c\u0153ur du salon, la pi\u00e8ce ma\u00eetresse du projet est sans conteste l&rsquo;ensemble de <a href=\"https:\/\/www.norki.com\/fr\/sur-mesure\/tapisserie-ameublement-sur-mesure\/\" class=\"nk-intro__inline-link\" title=\"D\u00e9couvrir la tapisserie d'ameublement\" target=\"_blank\" rel=\"noopener\">canap\u00e9s sur-mesure<\/a> r\u00e9alis\u00e9s par les <a href=\"https:\/\/www.norki.com\/fr\/sur-mesure\/\" class=\"nk-intro__inline-link\" title=\"D\u00e9couvrir les cr\u00e9ations sur mesure Maison Norki\" target=\"_blank\" rel=\"noopener\">Ateliers Norki<\/a>. Travailler sur un projet de bord de mer demande une approche sp\u00e9cifique des mati\u00e8res et des couleurs. Pour r\u00e9pondre \u00e0 la vision de Gabriel Bernardi, nous avons s\u00e9lectionn\u00e9 une <strong>peau de vache bleu marine<\/strong> d&rsquo;une profondeur rare pour recouvrir les assises et les dossiers.\n      <\/p>\n    <\/div>\n\n    <!-- Ligne 2 : Grande image principale (Image 1) -->\n    <div class=\"nk-savoir-faire__main-image-wrapper\">\n      <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/canape-fauteuil-peau-de-vache-sur-mesure-norki.png\" alt=\"Salon avec canap\u00e9s sur mesure Norki\" class=\"nk-savoir-faire__image\" loading=\"lazy\">\n    <\/div>\n\n    <!-- Ligne 3 : Deuxi\u00e8me image + Texte descriptif (Image 2) -->\n    <div class=\"nk-savoir-faire__details\">\n      <div class=\"nk-savoir-faire__secondary-image-wrapper\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/canape-fauteuil-peau-de-vache-sur-mesure-norki-crop.png\" alt=\"D\u00e9tail des canap\u00e9s avec passepoils en poulain blanc\" class=\"nk-savoir-faire__image\" loading=\"lazy\">\n      <\/div>\n      <div class=\"nk-savoir-faire__details-text\">\n        <p class=\"nk-savoir-faire__paragraph\">\n          Le d\u00e9tail qui souligne l&rsquo;exclusivit\u00e9 de cette fabrication r\u00e9side dans l&rsquo;utilisation de larges passepoils en <strong>poulain blanc<\/strong>. Ce contraste saisissant vient sculpter la forme des canap\u00e9s, apportant une touche graphique qui rappelle l&rsquo;\u00e9cume des vagues et l&rsquo;esth\u00e9tique nautique, tout en conservant les codes ind\u00e9modables de la \u00ab British touch \u00bb.\n        <\/p>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<style>\n.nk-savoir-faire {\n  background-color: var(--color-norki-beige);\n  padding: var(--section-pad-v-dt) var(--section-pad-h-dt);\n  width: 100%;\n  box-sizing: border-box;\n}\n\n.nk-savoir-faire__inner {\n  margin: 0 auto;\n  display: flex;\n  flex-direction: column;\n  gap: 50px; \/* Espace vertical elegant et aere entre les blocs *\/\n}\n\n\/* ==========================================================================\n   EN-T\u00caTE (Titre + Texte intro)\n   ========================================================================== *\/\n.nk-savoir-faire__header {\n  max-width: 34%;\n}\n\n.nk-savoir-faire__title {\n  \/* Extrait du style de nk-intro__title *\/\n  font-family: var(--font-montserrat); \/* ou classe avenirmedium-font *\/\n  font-size: clamp(1.4rem, 2.2vw, 25px);\n  line-height: 1.25;\n  color: #000000;\n  font-weight: normal;\n  letter-spacing: -0.01em;\n  margin: 0 0 25px 0 !important;\n}\n\n.nk-savoir-faire__paragraph {\n  \/* Extrait du style de nk-intro__paragraph *\/\n  font-family: var(--font-montserrat);\n  font-size: 0.95rem;\n  line-height: 1.7;\n  color: #000000;\n  letter-spacing: 0.01em;\n  margin: 0;\n  text-align: left;\n}\n\n\/* Accentuation s\u00e9mantique harmonis\u00e9e *\/\n.nk-savoir-faire__paragraph strong {\n  font-weight: 600;\n}\n\n\/* ==========================================================================\n   EDITORIAL INLINE LINKS\n   ========================================================================== *\/\n.nk-editorial-inline-link {\n  \/* Harmonis\u00e9 avec le style nk-intro__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.nk-editorial-inline-link:hover {\n  text-decoration-color: transparent;\n  opacity: 0.7;\n}\n\n\/* ==========================================================================\n   IMAGE PRINCIPALE\n   ========================================================================== *\/\n.nk-savoir-faire__main-image-wrapper {\n  width: 100%;\n  max-width: 1000px;\n}\n\n.nk-savoir-faire__image {\n  width: 100%;\n  height: auto;\n  display: block;\n  object-fit: cover;\n}\n\n\/* ==========================================================================\n   D\u00c9TAILS (Image 2 + Texte)\n   ========================================================================== *\/\n.nk-savoir-faire__details {\n  display: grid;\n  grid-template-columns: 50% 43%;\n  justify-content: space-between;\n  align-items: start;\n  width: 63%;\n  gap: 30px;\n  max-width: 1000px;\n}\n\n.nk-savoir-faire__secondary-image-wrapper {\n  width: 100%;\n  max-width: 500px;\n}\n\n.nk-savoir-faire__details-text {\n  padding-top: 15px; \/* Aligne le haut du texte avec l'image *\/\n}\n\n\/* ==========================================================================\n   RESPONSIVE TABLETTE (\u2264 1024px)\n   ========================================================================== *\/\n@media (max-width: 1024px) {\n  .nk-savoir-faire {\n    padding: var(--section-pad-v-tab) var(--section-pad-h-tab);\n  }\n\n  .nk-savoir-faire__header {\n    max-width: 85%;\n  }\n\n  .nk-savoir-faire__details {\n    grid-template-columns: 50% 100%;\n    gap: 25px;\n  }\n}\n\n\/* ==========================================================================\n   RESPONSIVE MOBILE (\u2264 640px)\n   ========================================================================== *\/\n@media (max-width: 640px) {\n  .nk-savoir-faire {\n    padding: var(--section-pad-v-mob) var(--section-pad-h-mob);\n  }\n\n  .nk-savoir-faire__inner {\n    gap: 35px;\n  }\n\n  .nk-savoir-faire__header {\n    max-width: 100%;\n  }\n\n  .nk-savoir-faire__title {\n    margin-bottom: 15px !important;\n  }\n\n  \/* Rangement en 1 colonne pour l'empilement *\/\n  .nk-savoir-faire__details {\n    display: flex;\n    flex-direction: column;\n    gap: 25px;\n    width: 100%;\n  }\n\n  \/* mobile : titre+texte (deja en haut) puis image1 (au milieu) \n     puis texte descriptif puis image2 *\/\n  .nk-savoir-faire__details-text {\n    order: 1; \/* Le texte descriptif passe en premier *\/\n    padding-top: 0;\n  }\n  \n  .nk-savoir-faire__secondary-image-wrapper {\n    order: 2; \/* L'image 2 passe en second *\/\n  }\n}\n<\/style>\n\n\n\n<section class=\"nk-ingenierie\">\n  <div class=\"nk-ingenierie__inner\">\n    \n    <!-- Colonne Gauche : Texte align\u00e9 en bas -->\n    <div class=\"nk-ingenierie__col-left\">\n      <div class=\"nk-ingenierie__text-content\">\n        <h2 class=\"nk-ingenierie__title\">Une ing\u00e9nierie du design<br>au service du confort<\/h2>\n        <p class=\"nk-ingenierie__paragraph\">\n          Comme le souligne si bien le cabinet Gabriel Bernardi, \u00ab <span class=\"baskerville-italic-font\">la beaut\u00e9 doit aussi servir la fonction<\/span> \u00bb. Nos designs sont autant pens\u00e9s qu&rsquo;envisag\u00e9s. Chaque d\u00e9tail technique du canap\u00e9 a \u00e9t\u00e9 m\u00e9ticuleusement \u00e9tudi\u00e9 pour offrir une performance irr\u00e9prochable et une long\u00e9vit\u00e9 exceptionnelle.\n        <\/p>\n        <p class=\"nk-ingenierie__paragraph\">\n          L&rsquo;alliance entre la vision architecturale de Gabriel Bernardi et la ma\u00eetrise artisanale de Norki a permis de cr\u00e9er un int\u00e9rieur o\u00f9 le confort est souverain. La peau de vache, mati\u00e8re noble et r\u00e9sistante, s&rsquo;adapte parfaitement \u00e0 l&rsquo;atmosph\u00e8re marine, offrant une douceur incomparable. Ce projet est la preuve que le luxe, lorsqu&rsquo;il est trait\u00e9 avec simplicit\u00e9 et justesse, devient une exp\u00e9rience de vie intemporelle, loin des tendances \u00e9ph\u00e9m\u00e8res.\n        <\/p>\n      <\/div>\n    <\/div>\n\n    <!-- Colonne Droite : Citation (en haut) + Image grande hauteur -->\n    <div class=\"nk-ingenierie__col-right\">\n      \n      <!-- Bloc Citation extrait de l'exemple et adapt\u00e9 -->\n      <div class=\"nk-ingenierie__quote-wrapper\">\n        <p class=\"nk-ingenierie__quote baskerville-italic-font\">La beaut\u00e9 doit aussi servir la fonction.<\/p>\n        \n      <\/div>\n      <p class=\"nk-ingenierie__signature bestermind-font \">Gabriel Bernardi<\/p>\n      <div class=\"nk-ingenierie__image-wrapper\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/big-white-kitchen-opened-on-a-garden-v2-1270x1536.png\" alt=\"Int\u00e9rieur de salle \u00e0 manger lumineuse par Gabriel Bernardi\" class=\"nk-ingenierie__image\" loading=\"lazy\" onerror=\"this.src='https:\/\/placehold.co\/800x1100\/f8f0ea\/50423d?text=Image+Salle+%C3%A0+Manger';\">\n      <\/div>\n      \n    <\/div>\n\n  <\/div>\n<\/section>\n\n<style>\n:root {\n    --wp--preset--color--contrast: black;\n    \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: #f5eee6; \/* Ajust\u00e9 \u00e0 la DA actuelle *\/\n    \n    --font-baskerville: 'Playfair Display', 'Baskerville', serif; \/* Playfair remplace Baskerville sur le web fr\u00e9quemment *\/\n    --font-montserrat: 'Montserrat', sans-serif;\n    --font-signature: 'Alex Brush', cursive;\n}\n\n\/* ==========================================================================\n   SECTION PRINCIPALE\n   ========================================================================== *\/\n.nk-ingenierie {\n  background-color: var(--color-norki-beige);\n  padding: var(--section-pad-v-dt) var(--section-pad-h-dt);\n  width: 100%;\n  box-sizing: border-box;\n}\n\n.nk-ingenierie__inner {\n  margin: 0 auto;\n  display: flex;\n  justify-content: flex-end;\n  align-items: flex-end; \n  gap: 5vw;\n}\n\n\/* ==========================================================================\n   COLONNE GAUCHE (Titre + Texte)\n   ========================================================================== *\/\n.nk-ingenierie__col-left {\n  width: 27%;\n  display: flex;\n  flex-direction: column;\n}\n\n\/* Typographie extraite de nk-intro (Savoir-faire) *\/\n.nk-ingenierie__title {\n  font-family: var(--font-montserrat);\n  font-size: clamp(1.4rem, 2.2vw, 28px);\n  line-height: 1.25;\n  color: #000000;\n  letter-spacing: -0.02em;\n  margin: 0 0 30px 0 !important;\n}\n\n.nk-ingenierie__paragraph {\n  font-family: var(--font-montserrat);\n  font-size: 0.95rem; \/* Taille classique requise *\/\n  line-height: 1.7;\n  color: #000000;\n  letter-spacing: 0.01em;\n  margin: 0 0 20px 0;\n  text-align: left;\n}\n\n.nk-ingenierie__paragraph:last-child {\n  margin-bottom: 0;\n}\n\n\/* ==========================================================================\n   COLONNE DROITE (Citation + Image)\n   ========================================================================== *\/\n.nk-ingenierie__col-right {\n  width: 42%;\n  display: flex;\n  flex-direction: column;\n  min-width: 600px;\n}\n\n\/* --- BLOC CITATION (Int\u00e9gration du syst\u00e8me de guillemets) --- *\/\n.nk-ingenierie__quote-wrapper {\n  position: relative;\n  padding: 0 50px; \/* Espace pour les guillemets absolus *\/\n  margin-bottom: 50px; \/* \u00c9cart avec l'image en dessous *\/\n  text-align: center;\n  align-self: center; \/* Centre le bloc de citation par rapport \u00e0 l'image *\/\n  max-width: 80%;\n}\n\n.nk-ingenierie__quote-wrapper::before,\n.nk-ingenierie__quote-wrapper::after {\n  font-family: \"Georgia\", serif !important;\n  font-size: 80px;\n  line-height: 0;\n  color: #000000;\n  position: absolute;\n}\n\n.nk-ingenierie__quote-wrapper::before {\n  content: '\\201C'; \/* Guillemet ouvrant anglais *\/\n  top: 30px;\n  left: 0;\n}\n\n.nk-ingenierie__quote-wrapper::after {\n  content: '\\201D'; \/* Guillemet fermant anglais *\/\n  bottom: -20px;\n  right: 0;\n}\n\n.nk-ingenierie__quote {\n  font-size: clamp(1.4rem, 2vw, 26px);\n  line-height: 1.3;\n  color: #000000;\n  margin: 0;\n}\n\n.nk-ingenierie__signature {\n  font-family: var(--font-signature);\n  font-size: clamp(2.5rem, 3.5vw, 45px);\n  color: #000000;\n  margin: 0;\n  line-height: 1;\n  line-height: 1.4;\n  margin-top: -20px;\n  margin-bottom: 30px;\n  text-align: center;\n}\n\n\/* --- IMAGE --- *\/\n.nk-ingenierie__image-wrapper {\n  width: 100%;\n  display: block;\n}\n\n.nk-ingenierie__image {\n  width: 100%;\n  height: auto;\n  display: block;\n  object-fit: cover;\n}\n\n\/* ==========================================================================\n   RESPONSIVE TABLETTE (\u2264 1024px)\n   ========================================================================== *\/\n@media (max-width: 1024px) {\n  .nk-ingenierie {\n    padding: var(--section-pad-v-tab) var(--section-pad-h-tab);\n  }\n\n  .nk-ingenierie__inner {\n    gap: 40px;\n  }\n\n  .nk-ingenierie__col-left {\n    width: 45%;\n  }\n\n  .nk-ingenierie__col-right {\n    width: 42%;\n    min-width: auto;\n  }\n\n  .nk-ingenierie__quote-wrapper {\n    max-width: 100%;\n    padding: 0 40px;\n  }\n}\n\n\/* ==========================================================================\n   RESPONSIVE MOBILE (\u2264 768px)\n   ========================================================================== *\/\n@media (max-width: 768px) {\n  .nk-ingenierie {\n    padding: var(--section-pad-v-mob) var(--section-pad-h-mob);\n  }\n\n  .nk-ingenierie__inner {\n    \/* Sur mobile, on inverse : Citation + Image en premier, puis le texte *\/\n    flex-direction: column-reverse;\n    align-items: flex-start;\n    gap: 40px;\n  }\n\n  .nk-ingenierie__col-left,\n  .nk-ingenierie__col-right {\n    width: 100%;\n  }\n\n  .nk-ingenierie__quote-wrapper {\n    margin-bottom: 35px;\n  }\n\n  .nk-ingenierie__quote-wrapper::before,\n  .nk-ingenierie__quote-wrapper::after {\n    font-size: 60px;\n  }\n\n  .nk-ingenierie__quote-wrapper::before { top: 25px; }\n  .nk-ingenierie__quote-wrapper::after { bottom: -12px; }\n  \n  .nk-ingenierie__title {\n    margin-bottom: 20px !important;\n  }\n}\n<\/style>\n\n\n\n<section class=\"nk-map\">\n    <div class=\"nk-map__inner\">\n        \n        <!-- Carte du monde (Masqu\u00e9e sur mobile) -->\n        <div class=\"nk-map__world\">\n            <a href=\"https:\/\/www.visitbrighton.com\/\" class=\"nk-map__world-link\" aria-label=\"Voir le projet de villa \u00e0 Brighton sur la carte du monde\">\n                <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/Carte-du-monde-Brighton.png\" alt=\"Carte du monde localisant Brighton\" class=\"nk-map__world-img\" loading=\"lazy\">\n            <\/a>\n        <\/div>\n\n        <!-- Zoom d\u00e9taill\u00e9 (Cercle) -->\n        <div class=\"nk-map__detail\">\n            <span class=\"nk-map__title avenirmedium-font\">\n                Projet de Villa \u00e0 <span class=\"baskerville-italic-font\">Brighton<\/span>\n            <\/span>\n            <div class=\"nk-map__circle\">\n                <a href=\"https:\/\/www.visitbrighton.com\/\" class=\"nk-map__circle-link\" aria-label=\"Zoom sur le projet de villa d'exception \u00e0 Brighton\">\n                    <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/Carte-europe-Brighton.png\" alt=\"Zoom sur la carte d'Europe localisant Brighton\" class=\"nk-map__circle-img\" loading=\"lazy\">\n                <\/a>\n            <\/div>\n        <\/div>\n\n    <\/div>\n<\/section>\n\n<style>\n\/* ============================================\n   COMPOSANT : CARTE DE LOCALISATION (Modifi\u00e9)\n   Inspiration et structure de l'image de r\u00e9f\u00e9rence\n============================================ *\/\n.nk-map {\n    padding-top: 0;\n    padding-bottom: var(--section-pad-v-dt, 80px);\n    padding-left: var(--section-pad-h-dt, 5vw);\n    padding-right: var(--section-pad-h-dt, 5vw);\n    background-color: var(--color-norki-beige, #fcf3ee); \/* Fond beige clair comme image_0.png *\/\n    color: #000000;\n    box-sizing: border-box;\n}\n\n.nk-map * {\n    box-sizing: border-box;\n}\n\n.nk-map__inner {\n    margin: 0 auto;\n    display: grid;\n    \/* Ratio PC : carte mondiale plus grande, puis colonne de d\u00e9tail *\/\n    grid-template-columns: 2fr 1fr;\n    gap: 20px;\n    align-items: center;\n}\n\n\/* --- CARTE DU MONDE (Gauche) --- *\/\n.nk-map__world {\n    width: 100%;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n}\n\n\/* Lien enveloppant la carte mondiale *\/\n.nk-map__world-link {\n    display: block;\n    width: 100%;\n    cursor: pointer;\n    overflow: hidden;\n}\n\n.nk-map__world-img {\n    width: 100%;\n    height: auto;\n    display: block;\n    object-fit: contain;\n    \/* Transition de micro-interaction douce et continue *\/\n    transition: transform 0.6s ease, opacity 0.6s ease;\n}\n\n\/* Animation subtile au survol de la carte mondiale *\/\n.nk-map__world-link:hover .nk-map__world-img {\n    transform: scale(1.01);\n    opacity: 0.92;\n}\n\n\/* --- ZOOM D\u00c9TAILL\u00c9 (Droite) --- *\/\n.nk-map__detail {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    width: 100%;\n}\n\n.nk-map__title {\n    font-size: clamp(1.5rem, 2.2vw, 28px);\n    font-weight: normal;\n    margin-top: 0;\n    margin-bottom: 25px;\n    letter-spacing: 0.02em;\n    text-align: center;\n    color: #000000;\n}\n\n.nk-map__circle {\n    width: 100%;\n    max-width: 420px; \/* Limite la taille du cercle sur grand \u00e9cran *\/\n    aspect-ratio: 1 \/ 1;\n    border-radius: 50%;\n    overflow: hidden; \/* D\u00e9coupe parfaite demand\u00e9e *\/\n    \/* Bordure fine, style maquette *\/\n    border: 1px solid rgba(0, 0, 0, 0.6);\n    \/* Fond assorti \u00e0 la section *\/\n    background-color: var(--color-norki-beige, #fcf3ee);\n    display: flex;\n    justify-content: center;\n    align-items: center;\n}\n\n\/* Lien enveloppant le cercle *\/\n.nk-map__circle-link {\n    display: block;\n    width: 100%;\n    height: 100%;\n    cursor: pointer;\n    overflow: hidden;\n    border-radius: 50%; \/* Force la rondeur du focus et de la zone cliquable *\/\n}\n\n.nk-map__circle-img {\n    width: 102%; \/* L\u00e9g\u00e8rement > 100% pour \u00e9viter les liser\u00e9s de pixel blanc aux bords *\/\n    height: 102%;\n    object-fit: cover;\n    \/* Cadrage optimal pour centrer Brighton sur la carte Europe fourni *\/\n    object-position: center center;\n    \/* Transition d'animation HoverZoom issue de la DA *\/\n    transition: transform 0.6s ease;\n}\n\n\/* Animation d'impact au survol sur le zoom circulaire *\/\n.nk-map__circle-link:hover .nk-map__circle-img {\n    transform: scale(1.03); \/* HoverZoom standard *\/\n}\n\n\/* ============================================\n   RESPONSIVE TABLETTE (\u2264 1024px)\n============================================ *\/\n@media (max-width: 1024px) {\n    .nk-map {\n        padding-top: 0;\n        padding-bottom: var(--section-pad-v-tab, 60px);\n        padding-left: var(--section-pad-h-tab, 4vw);\n        padding-right: var(--section-pad-h-tab, 4vw);\n    }\n    \n    .nk-map__inner {\n        gap: 15px; \/* \u00c9cart ajust\u00e9 \u00e9galement sur tablette *\/\n    }\n}\n\n\/* ============================================\n   RESPONSIVE MOBILE (\u2264 768px)\n============================================ *\/\n@media (max-width: 768px) {\n    .nk-map {\n        padding-top: 0;\n        padding-bottom: var(--section-pad-v-mob, 50px);\n        padding-left: var(--section-pad-h-mob, 20px);\n        padding-right: var(--section-pad-h-mob, 20px);\n    }\n\n    .nk-map__inner {\n        grid-template-columns: 1fr; \/* Passage sur une seule colonne *\/\n    }\n\n    \/* Masquage de la carte du monde globale sur mobile *\/\n    .nk-map__world {\n        display: none;\n    }\n\n    .nk-map__detail {\n        margin: 0 auto;\n    }\n\n    .nk-map__title {\n        font-size: 1.4rem;\n        margin-bottom: 30px;\n    }\n    \n    .nk-map__circle {\n        max-width: 320px; \/* Taille l\u00e9g\u00e8rement ajust\u00e9e pour les petits \u00e9crans *\/\n    }\n}\n<\/style>\n\n\n\n<section class=\"nk-sfa\">\n    <div class=\"nk-sfa__container\">\n        \n        <!-- En-t\u00eate : Titre (Gauche) + Fl\u00e8ches (Droite) -->\n        <div class=\"nk-sfa__header\">\n            <h2 class=\"nk-sfa__title avenirmedium-font\">\n                Nos <span class=\"baskerville-italic-font\">savoir-faire associ\u00e9s<\/span>\n            <\/h2>\n            \n            <!-- Navigation sur la m\u00eame ligne que le titre -->\n            <div class=\"nk-sfa__nav-bar\">\n                <div class=\"nk-sfa__arrows\">\n                    <button class=\"nk-sfa__prev\" aria-label=\"Slide pr\u00e9c\u00e9dente\">\n                        <svg viewBox=\"0 0 24 24\"><path d=\"M15 18l-6-6 6-6\"><\/path><\/svg>\n                    <\/button>\n                    <button class=\"nk-sfa__next\" aria-label=\"Slide suivante\">\n                        <svg viewBox=\"0 0 24 24\"><path d=\"M9 18l6-6-6-6\"><\/path><\/svg>\n                    <\/button>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Section Carrousel -->\n        <div class=\"nk-sfa__slider-area\" id=\"sfa-slider\">\n            <div class=\"nk-sfa__carousel-viewport\">\n                <div class=\"nk-sfa__carousel-track\">\n                    \n                    <!-- Slide 1 : Couture d'ameublement -->\n                    <article class=\"nk-sfa__slide\">\n                        <a href=\"https:\/\/www.norki.com\/fr\/sur-mesure\/couture-ameublement-rideaux\/\" class=\"nk-sfa__image-link\" aria-label=\"D\u00e9couvrir notre savoir-faire en Couture d'ameublement\">\n                            <img decoding=\"async\" data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/atelier-couture-ameublement-decoration-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=\"D\u00e9tail Couture d'ameublement\" class=\"norki-lazy\">\n                        <\/a>\n                        <div class=\"nk-sfa__caption\">\n                            <p class=\"nk-sfa__caption-title baskerville-italic-font\">Couture d&rsquo;ameublement<\/p>\n                            <a href=\"https:\/\/www.norki.com\/fr\/sur-mesure\/couture-ameublement-rideaux\/\" class=\"nk-sfa__link\">D\u00e9couvrir<\/a>\n                        <\/div>\n                    <\/article>\n\n                    <!-- Slide 2 : Tapisserie d'ameublement -->\n                    <article class=\"nk-sfa__slide\">\n                        <a href=\"https:\/\/www.norki.com\/fr\/sur-mesure\/tapisserie-ameublement-sur-mesure\/\" class=\"nk-sfa__image-link\" aria-label=\"D\u00e9couvrir notre savoir-faire en Tapisserie d'ameublement\">\n                            <img decoding=\"async\" data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/atelier-tapisserie-ameublement-sur-mesure-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=\"D\u00e9tail Tapisserie d'ameublement\" class=\"norki-lazy\">\n                        <\/a>\n                        <div class=\"nk-sfa__caption\">\n                            <p class=\"nk-sfa__caption-title baskerville-italic-font\">Tapisserie d&rsquo;ameublement<\/p>\n                            <a href=\"https:\/\/www.norki.com\/fr\/sur-mesure\/tapisserie-ameublement-sur-mesure\/\" class=\"nk-sfa__link\">D\u00e9couvrir<\/a>\n                        <\/div>\n                    <\/article>\n                    \n                <\/div>\n            <\/div>\n        <\/div>\n\n    <\/div>\n<\/section>\n\n<style>\n\/* ============================================\n   COMPOSANT : SAVOIR-FAIRE ASSOCI\u00c9S\n============================================ *\/\n.nk-sfa {\n    padding-top: 0;\n    padding-bottom: var(--section-pad-v-dt, 80px);\n    padding-left: var(--section-pad-h-dt, 5vw);\n    padding-right: var(--section-pad-h-dt, 5vw);\n    background-color: var(--color-norki-beige, #f8f0ea);\n    color: #000000;\n    box-sizing: border-box;\n    overflow: hidden;\n}\n\n.nk-sfa * {\n    box-sizing: border-box;\n}\n\n.nk-sfa__container {\n    margin: 0 auto;\n    width: 100%;\n}\n\n\/* --- EN-T\u00caTE --- *\/\n.nk-sfa__header {\n    display: flex;\n    justify-content: space-between;\n    align-items: flex-end;\n    margin-bottom: 50px;\n    gap: 15px;\n}\n\n.nk-sfa__title {\n    font-size: clamp(1.4rem, 2.5vw, 35px);\n    font-weight: normal;\n    margin: 0;\n    letter-spacing: -0.01em;\n    line-height: 1.25;\n}\n\n\/* --- NAVIGATION --- *\/\n.nk-sfa__nav-bar {\n    display: flex;\n    align-items: center;\n}\n\n.nk-sfa__arrows {\n    display: flex;\n    gap: 15px;\n    margin-right: -12px;\n}\n\n.nk-sfa__arrows button {\n    background: none;\n    border: none;\n    color: #000000;\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.nk-sfa__arrows button:hover { opacity: 0.6; }\n\n.nk-sfa__arrows svg {\n    width: 26px;\n    height: 26px;\n    fill: none;\n    stroke: currentColor;\n    stroke-width: 1.2;\n}\n\n\/* --- CARROUSEL --- *\/\n.nk-sfa__slider-area {\n    position: relative;\n    width: 100%;\n}\n\n.nk-sfa__carousel-viewport {\n    overflow: hidden;\n    touch-action: pan-y;\n    margin: 0 -15px;\n}\n\n.nk-sfa__carousel-track {\n    display: flex;\n    will-change: transform;\n}\n\n.nk-sfa__slide {\n    padding: 0 15px;\n    display: flex;\n    flex-direction: column;\n}\n\n\/* --- ENCAPSULATION DESIGN SYSTEM DES IMAGES --- *\/\n.nk-sfa__image-link {\n    display: block;\n    width: 100%;\n    aspect-ratio: 1 \/ 1;\n    overflow: hidden;\n    border-radius: 4px;\n    background-color: rgba(0, 0, 0, 0.05);\n    position: relative;\n}\n\n\/* FORMAT CARR\u00c9 ET ANIMATIONS *\/\n.nk-sfa__slide img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    object-position: center;\n    display: block;\n    opacity: 0;\n    transition: opacity 0.5s ease-in-out, transform 0.6s ease;\n    will-change: opacity, transform;\n}\n\n.nk-sfa__slide img.norki-loaded {\n    opacity: 1;\n}\n\n.nk-sfa__image-link:hover img {\n    transform: scale(1.03);\n}\n\n\/* --- CAPTIONS SOUS LES IMAGES --- *\/\n.nk-sfa__caption {\n    text-align: center;\n    padding-top: 25px;\n}\n\n.nk-sfa__caption-title {\n    font-size: clamp(1.2rem, 1.5vw, 22px);\n    font-weight: normal;\n    margin: 0 0 6px 0 !important;\n    color: #000000;\n}\n\n.nk-sfa__link {\n    font-size: 0.95rem;\n    color: #000000;\n    text-decoration: underline;\n    text-underline-offset: 3px;\n    text-decoration-thickness: 1.5px;\n    text-decoration-color: #000000;\n    transition: opacity 0.3s ease, text-decoration-color 0.3s ease;\n    display: inline-block;\n}\n\n.nk-sfa__link:hover {\n    opacity: 0.7;\n    text-decoration-color: transparent;\n}\n\n\/* ============================================\n   RESPONSIVE TABLETTE (\u2264 1024px)\n============================================ *\/\n@media (max-width: 1024px) {\n    .nk-sfa {\n        padding-top: 0;\n        padding-bottom: var(--section-pad-v-tab, 60px);\n        padding-left: var(--section-pad-h-tab, 4vw);\n        padding-right: var(--section-pad-h-tab, 4vw);\n    }\n    \n    .nk-sfa__header {\n        margin-bottom: 30px;\n    }\n\n    .nk-sfa__arrows button:hover,\n    .nk-sfa__arrows button:active,\n    .nk-sfa__arrows button:focus {\n        opacity: 1 !important;\n    }\n}\n\n\/* ============================================\n   RESPONSIVE MOBILE (\u2264 768px)\n============================================ *\/\n@media (max-width: 768px) {\n    .nk-sfa {\n        padding-top: 0;\n        padding-bottom: var(--section-pad-v-mob, 50px);\n        padding-left: var(--section-pad-h-mob, 20px);\n        padding-right: var(--section-pad-h-mob, 20px);\n    }\n\n    .nk-sfa__header {\n        align-items: center;\n        margin-bottom: 25px;\n    }\n\n    .nk-sfa__title {\n        font-size: clamp(1.1rem, 4.5vw, 1.4rem);\n    }\n\n    .nk-sfa__arrows {\n        margin-right: -5px;\n        gap: 10px;\n    }\n\n    .nk-sfa__arrows svg {\n        width: 22px;\n        height: 22px;\n    }\n\n    .nk-sfa__carousel-viewport {\n        margin: 0 -5px;\n    }\n\n    .nk-sfa__slide {\n        padding: 0 5px;\n    }\n\n    .nk-sfa__caption {\n        padding-top: 15px;\n    }\n}\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n\n    \/* =========================================================\n       GESTION DU CARROUSEL (Adaptatif 3 \/ 2 \/ 1)\n       ========================================================= *\/\n    const container = document.getElementById('sfa-slider');\n    if (!container) return;\n\n    const section = container.closest('.nk-sfa');\n    const track = container.querySelector('.nk-sfa__carousel-track');\n    const originalSlides = Array.from(container.querySelectorAll('.nk-sfa__slide'));\n    const totalOriginal = originalSlides.length;\n    const navBar = section.querySelector('.nk-sfa__nav-bar');\n\n    \/\/ Clonage pour l'effet de boucle infinie\n    originalSlides.forEach(slide => {\n        const clone = slide.cloneNode(true);\n        clone.classList.add('norki-clone');\n        clone.setAttribute('aria-hidden', 'true');\n        clone.querySelectorAll('a').forEach(link => link.setAttribute('tabindex', '-1'));\n        track.appendChild(clone);\n    });\n    originalSlides.slice().reverse().forEach(slide => {\n        const clone = slide.cloneNode(true);\n        clone.classList.add('norki-clone');\n        clone.setAttribute('aria-hidden', 'true');\n        clone.querySelectorAll('a').forEach(link => link.setAttribute('tabindex', '-1'));\n        track.insertBefore(clone, track.firstChild);\n    });\n\n    const allSlides = Array.from(container.querySelectorAll('.nk-sfa__slide'));\n\n    const getSlidesPerView = () => {\n        if (window.innerWidth > 1024) return 3; \/\/ PC\n        if (window.innerWidth > 768) return 2;  \/\/ Tablette\n        return 1;                               \/\/ Mobile\n    };\n\n    let itemsPerView = getSlidesPerView();\n    let itemWidthPct = 100 \/ itemsPerView;\n    allSlides.forEach(s => s.style.flex = `0 0 ${itemWidthPct}%`);\n    \n    let currentIndex = totalOriginal; \n    let isAnimating = false;\n\n    \/\/ Mise \u00e0 jour de l'affichage global (G\u00e8re intelligemment le cas o\u00f9 il y a un espace vide)\n    const updateCarousel = (instant = false) => {\n        const clones = track.querySelectorAll('.norki-clone');\n\n        \/\/ Si tout rentre dans l'\u00e9cran (ex: 2 slides sur PC qui en demande 3)\n        if (itemsPerView >= totalOriginal) {\n            navBar.style.display = 'none'; \/\/ Cache les fl\u00e8ches\n            clones.forEach(c => c.style.display = 'none'); \/\/ Cache les clones\n            track.style.transition = 'none';\n            track.style.transform = `translateX(0)`; \/\/ Aligne les slides \u00e0 gauche\n            return;\n        }\n\n        \/\/ Sinon, le carrousel est actif (ex: Mobile)\n        navBar.style.display = 'flex';\n        clones.forEach(c => c.style.display = ''); \/\/ R\u00e9affiche les clones\n        \n        track.style.transition = instant ? 'none' : 'transform 0.5s cubic-bezier(0.4, 0.0, 0.2, 1)';\n        track.style.transform = `translateX(-${currentIndex * itemWidthPct}%)`;\n    };\n\n    updateCarousel(true);\n\n    const moveNext = () => {\n        if (isAnimating || itemsPerView >= totalOriginal) return;\n        isAnimating = true;\n        currentIndex++;\n        updateCarousel();\n    };\n\n    const movePrev = () => {\n        if (isAnimating || itemsPerView >= totalOriginal) return;\n        isAnimating = true;\n        currentIndex--;\n        updateCarousel();\n    };\n\n    section.querySelector('.nk-sfa__next').addEventListener('click', moveNext);\n    section.querySelector('.nk-sfa__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    \/\/ Gestion Resize\n    window.addEventListener('resize', () => {\n        const newItemsPerView = getSlidesPerView();\n        if (newItemsPerView !== itemsPerView) {\n            itemsPerView = newItemsPerView;\n            itemWidthPct = 100 \/ itemsPerView;\n            allSlides.forEach(s => s.style.flex = `0 0 ${itemWidthPct}%`);\n            \n            currentIndex = totalOriginal;\n            updateCarousel(true);\n        }\n    });\n\n    \/\/ Gestion Swipe Tactile\n    let startX = 0, endX = 0;\n    const swipeThreshold = 40;\n\n    track.addEventListener('touchstart', (e) => {\n        if (itemsPerView >= totalOriginal) return; \n        startX = e.touches[0].clientX;\n    }, { passive: true });\n    \n    track.addEventListener('touchend', (e) => {\n        if (itemsPerView >= totalOriginal) return;\n        endX = e.changedTouches[0].clientX;\n        const diff = startX - endX;\n        if (Math.abs(diff) > swipeThreshold) {\n            if (diff > 0) moveNext();\n            else movePrev();\n        }\n    });\n\n    \/* =========================================================\n       LAZY LOADING DES IMAGES\n       ========================================================= *\/\n    const imageObserver = new IntersectionObserver((entries, observer) => {\n        entries.forEach(entry => {\n            if (entry.isIntersecting) {\n                const img = entry.target;\n                if (img.dataset.src) {\n                    img.onload = () => img.classList.add('norki-loaded');\n                    img.src = img.dataset.src;\n                    img.removeAttribute('data-src');\n                    observer.unobserve(img);\n                }\n            }\n        });\n    }, { root: null, rootMargin: '0px 100% 0px 100%', threshold: 0 });\n    \n    document.querySelectorAll('.norki-lazy').forEach(img => {\n        imageObserver.observe(img);\n    });\n\n});\n<\/script>\n\n\n\n<style>\n    \/* ==========================================================================\n       COMPOSANT : S\u00c9LECTION D'OBJETS ISOL\u00c9\n       ========================================================================== *\/\n    .norki-sel-objets {\n        padding-top: 0;\n        padding-bottom: var(--section-pad-v-dt, 80px);\n        padding-left: var(--section-pad-h-dt, 5vw);\n        padding-right: var(--section-pad-h-dt, 5vw);\n        background-color: var(--color-norki-beige, #f8f0ea);\n        color: #000000;\n        box-sizing: border-box;\n        overflow: hidden;\n    }\n\n    .norki-sel-objets * {\n        box-sizing: border-box;\n    }\n\n    .norki-sel-objets__container {\n        margin: 0 auto;\n        width: 100%;\n    }\n\n    \/* --- EN-T\u00caTE --- *\/\n    .norki-sel-objets__header {\n        display: flex;\n        justify-content: space-between;\n        align-items: flex-end;\n        margin-bottom: 50px;\n        gap: 15px;\n    }\n\n    .norki-sel-objets__title {\n        font-size: clamp(1.4rem, 2.5vw, 35px);\n        font-weight: normal;\n        margin: 0;\n        letter-spacing: -0.01em;\n        line-height: 1.25;\n    }\n\n    \/* --- NAVIGATION --- *\/\n    .norki-sel-objets__nav-bar {\n        display: flex;\n        align-items: center;\n    }\n\n    .norki-sel-objets__arrows {\n        display: flex;\n        gap: 15px;\n        margin-right: -12px;\n    }\n\n    .norki-sel-objets__arrows button {\n        background: none;\n        border: none;\n        color: #000000;\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    .norki-sel-objets__arrows button:hover { opacity: 0.6; }\n\n    .norki-sel-objets__arrows svg {\n        width: 26px;\n        height: 26px;\n        fill: none;\n        stroke: currentColor;\n        stroke-width: 1.2;\n    }\n\n    \/* --- CARROUSEL --- *\/\n    .norki-sel-objets__slider-area {\n        position: relative;\n        width: 100%;\n    }\n\n    .norki-sel-objets__carousel-viewport {\n        overflow: hidden;\n        touch-action: pan-y;\n        margin: 0 -15px;\n    }\n\n    .norki-sel-objets__carousel-track {\n        display: flex;\n        will-change: transform;\n    }\n\n    .norki-sel-objets__slide {\n        padding: 0 15px;\n        display: flex;\n        flex-direction: column;\n    }\n\n    \/* --- ENCAPSULATION DESIGN SYSTEM DES IMAGES --- *\/\n    .norki-sel-objets__image-link {\n        display: block;\n        width: 100%;\n        aspect-ratio: 1 \/ 1;\n        overflow: hidden;\n        border-radius: 4px;\n        background-color: rgba(0, 0, 0, 0.04);\n        position: relative;\n    }\n\n    .norki-sel-objets__slide img {\n        width: 100%;\n        height: 100%;\n        object-fit: cover;\n        object-position: center;\n        display: block;\n        opacity: 0;\n        transition: opacity 0.5s ease-in-out, transform 0.6s ease;\n        will-change: opacity, transform;\n    }\n\n    .norki-sel-objets__slide img.norki-loaded {\n        opacity: 1;\n    }\n\n    .norki-sel-objets__image-link:hover img {\n        transform: scale(1.03);\n    }\n\n    \/* --- CAPTIONS SOUS LES IMAGES --- *\/\n    .norki-sel-objets__caption {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        padding-top: 20px;\n        padding-left: 23px;\n        padding-right: 23px;\n        font-size: 0.95rem;\n        color: #000000;\n    }\n\n    .norki-sel-objets__product-name {\n        font-weight: 500;\n        letter-spacing: 0.02em;\n    }\n\n    \/* Transition fluide de d\u00e9-soulignement DA *\/\n    .norki-sel-objets__link {\n        color: #000000;\n        text-decoration: underline;\n        text-underline-offset: 3px;\n        text-decoration-thickness: 1.5px;\n        text-decoration-color: #000000;\n        transition: opacity 0.3s ease, text-decoration-color 0.3s ease;\n        font-weight: 500;\n        white-space: nowrap;\n    }\n\n    .norki-sel-objets__link:hover {\n        opacity: 0.7;\n        text-decoration-color: transparent;\n    }\n\n    \/* ============================================\n       RESPONSIVE TABLETTE (\u2264 1024px)\n       ============================================ *\/\n    @media (max-width: 1024px) {\n        .norki-sel-objets {\n            padding-top: 0;\n            padding-bottom: var(--section-pad-v-tab, 60px);\n            padding-left: var(--section-pad-h-tab, 4vw);\n            padding-right: var(--section-pad-h-tab, 4vw);\n        }\n\n        .norki-sel-objets__header {\n            margin-bottom: 30px;\n        }\n\n        .norki-sel-objets__caption {\n            padding-left: 20px;\n            padding-right: 20px;\n        }\n\n        .norki-sel-objets__arrows button:hover,\n        .norki-sel-objets__arrows button:active,\n        .norki-sel-objets__arrows button:focus {\n            opacity: 1 !important;\n        }\n    }\n\n    \/* ============================================\n       RESPONSIVE MOBILE (\u2264 768px)\n       ============================================ *\/\n    @media (max-width: 768px) {\n        .norki-sel-objets {\n            padding-top: 0;\n            padding-bottom: var(--section-pad-v-mob, 50px);\n            padding-left: var(--section-pad-h-mob, 20px);\n            padding-right: var(--section-pad-h-mob, 20px);\n        }\n        \n        .norki-sel-objets__header {\n            align-items: center;\n            margin-bottom: 25px;\n        }\n\n        .norki-sel-objets__title {\n            font-size: clamp(1.1rem, 4.5vw, 1.4rem);\n        }\n\n        .norki-sel-objets__arrows {\n            margin-right: -5px;\n            gap: 10px;\n        }\n\n        .norki-sel-objets__arrows svg {\n            width: 22px;\n            height: 22px;\n        }\n\n        .norki-sel-objets__carousel-viewport {\n            margin: 0 -5px;\n        }\n\n        .norki-sel-objets__slide {\n            padding: 0 5px;\n        }\n\n        .norki-sel-objets__caption {\n            padding-top: 15px;\n            padding-left: 10px;\n            padding-right: 10px;\n        }\n    }\n<\/style>\n\n<section class=\"norki-sel-objets\">\n    <div class=\"norki-sel-objets__container\">\n        \n        <!-- En-t\u00eate : Titre (Gauche) + Fl\u00e8ches (Droite) -->\n        <div class=\"norki-sel-objets__header\">\n            <h2 class=\"norki-sel-objets__title avenirmedium-font\">\n                Notre S\u00e9lection d&rsquo;<span class=\"baskerville-italic-font\">objets<\/span>\n            <\/h2>\n            \n            <!-- Navigation sur la m\u00eame ligne que le titre -->\n            <div class=\"norki-sel-objets__nav-bar\">\n                <div class=\"norki-sel-objets__arrows\">\n                    <button class=\"norki-sel-objets__prev\" aria-label=\"Slide pr\u00e9c\u00e9dente\">\n                        <svg viewBox=\"0 0 24 24\"><path d=\"M15 18l-6-6 6-6\"><\/path><\/svg>\n                    <\/button>\n                    <button class=\"norki-sel-objets__next\" aria-label=\"Slide suivante\">\n                        <svg viewBox=\"0 0 24 24\"><path d=\"M9 18l6-6-6-6\"><\/path><\/svg>\n                    <\/button>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Section Carrousel -->\n        <div class=\"norki-sel-objets__slider-area\" id=\"norki-sel-objets-slider\">\n            <div class=\"norki-sel-objets__carousel-viewport\">\n                <div class=\"norki-sel-objets__carousel-track\">\n                    \n                    <!-- Slide 1 : Canap\u00e9 Montaigne -->\n                    <article class=\"norki-sel-objets__slide\">\n                        <a href=\"https:\/\/www.norki.com\/fr\/canapes-collection-norki\/96-canape-montaigne-norki-club-mouton.html\" class=\"norki-sel-objets__image-link\" aria-label=\"D\u00e9couvrir le Canap\u00e9 Montaigne\">\n                            <img decoding=\"async\" data-src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/canape-blanc-style-club-norki-1.jpg\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1 1'%3E%3C\/svg%3E\" alt=\"Canap\u00e9 Montaigne d'exception Norki\" class=\"norki-lazy\">\n                        <\/a>\n                        <div class=\"norki-sel-objets__caption avenirmedium-font\">\n                            <span class=\"norki-sel-objets__product-name\">Canap\u00e9 Montaigne<\/span>\n                            <a href=\"https:\/\/www.norki.com\/fr\/canapes-collection-norki\/96-canape-montaigne-norki-club-mouton.html\" class=\"norki-sel-objets__link\">Acheter<\/a>\n                        <\/div>\n                    <\/article>\n\n                    <!-- Slide 2 : Tapis Saint-Peter -->\n                    <article class=\"norki-sel-objets__slide\">\n                        <a href=\"https:\/\/www.norki.com\/fr\/les-tapis-iconiques-norki\/156-tapis-saint-peter-vert-norki-couleur-cuir.html\" class=\"norki-sel-objets__image-link\" aria-label=\"D\u00e9couvrir le Tapis Saint-Peter\">\n                            <img decoding=\"async\" data-src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/tapis-peau-de-vache-contemporain.jpg\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1 1'%3E%3C\/svg%3E\" alt=\"Tapis Saint-Peter Vert d'exception Norki\" class=\"norki-lazy\">\n                        <\/a>\n                        <div class=\"norki-sel-objets__caption avenirmedium-font\">\n                            <span class=\"norki-sel-objets__product-name\">Tapis Saint-Peter<\/span>\n                            <a href=\"https:\/\/www.norki.com\/fr\/les-tapis-iconiques-norki\/156-tapis-saint-peter-vert-norki-couleur-cuir.html\" class=\"norki-sel-objets__link\">Acheter<\/a>\n                        <\/div>\n                    <\/article>\n\n                    <!-- Slide 3 : Coussin Saint-Peter -->\n                    <article class=\"norki-sel-objets__slide\">\n                        <a href=\"https:\/\/www.norki.com\/fr\/collections-coussins-iconiques-norki\/135-coussin-saint-peter-bleu-norki-agneau-velours.html\" class=\"norki-sel-objets__image-link\" aria-label=\"D\u00e9couvrir le Coussin Saint-Peter\">\n                            <img decoding=\"async\" data-src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/Coussin_Photo-Principale-SaintPeter-Bleu_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=\"Coussin Saint-Peter Bleu Norki\" class=\"norki-lazy\">\n                        <\/a>\n                        <div class=\"norki-sel-objets__caption avenirmedium-font\">\n                            <span class=\"norki-sel-objets__product-name\">Coussin Saint-Peter<\/span>\n                            <a href=\"https:\/\/www.norki.com\/fr\/collections-coussins-iconiques-norki\/135-coussin-saint-peter-bleu-norki-agneau-velours.html\" class=\"norki-sel-objets__link\">Acheter<\/a>\n                        <\/div>\n                    <\/article>\n\n                    <!-- Slide 4 : Coussin Signature Blanc -->\n                    <article class=\"norki-sel-objets__slide\">\n                        <a href=\"https:\/\/www.norki.com\/fr\/collections-coussins-iconiques-norki\/140-coussin-boule-nomade-signature-blanc-norki.html\" class=\"norki-sel-objets__image-link\" aria-label=\"D\u00e9couvrir le Coussin Signature Blanc\">\n                            <img decoding=\"async\" data-src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/Coussin_Photo-Principale-Signature-Blanc_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=\"Coussin Boule Nomade Signature Blanc Norki\" class=\"norki-lazy\">\n                        <\/a>\n                        <div class=\"norki-sel-objets__caption avenirmedium-font\">\n                            <span class=\"norki-sel-objets__product-name\">Coussin Signature Blanc<\/span>\n                            <a href=\"https:\/\/www.norki.com\/fr\/collections-coussins-iconiques-norki\/140-coussin-boule-nomade-signature-blanc-norki.html\" class=\"norki-sel-objets__link\">Acheter<\/a>\n                        <\/div>\n                    <\/article>\n\n                    <!-- Slide 5 : Fauteuil Edmond -->\n                    <article class=\"norki-sel-objets__slide\">\n                        <a href=\"https:\/\/www.norki.com\/fr\/collection-fauteuil-norki\/124-fauteuil-edmond-peau-lainee-norki.html\" class=\"norki-sel-objets__image-link\" aria-label=\"D\u00e9couvrir le Fauteuil Edmond\">\n                            <img decoding=\"async\" data-src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/Assise_Photo-Principale-Fauteuil-EDMOND_NORKI-2.jpg\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1 1'%3E%3C\/svg%3E\" alt=\"Fauteuil Edmond Peau Lain\u00e9e Norki\" class=\"norki-lazy\">\n                        <\/a>\n                        <div class=\"norki-sel-objets__caption avenirmedium-font\">\n                            <span class=\"norki-sel-objets__product-name\">Fauteuil Edmond<\/span>\n                            <a href=\"https:\/\/www.norki.com\/fr\/collection-fauteuil-norki\/124-fauteuil-edmond-peau-lainee-norki.html\" class=\"norki-sel-objets__link\">Acheter<\/a>\n                        <\/div>\n                    <\/article>\n\n                <\/div>\n            <\/div>\n        <\/div>\n\n    <\/div>\n<\/section>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n\n    const container = document.getElementById('norki-sel-objets-slider');\n    if (!container) return;\n\n    const section = container.closest('.norki-sel-objets');\n    const track = container.querySelector('.norki-sel-objets__carousel-track');\n    const originalSlides = Array.from(container.querySelectorAll('.norki-sel-objets__slide'));\n    const totalOriginal = originalSlides.length;\n    const navBar = section.querySelector('.norki-sel-objets__nav-bar');\n\n    \/\/ Clonage pour l'effet de boucle infinie\n    originalSlides.forEach(slide => {\n        const clone = slide.cloneNode(true);\n        clone.classList.add('norki-sel-objets-clone');\n        clone.setAttribute('aria-hidden', 'true');\n        clone.querySelectorAll('a').forEach(link => link.setAttribute('tabindex', '-1'));\n        track.appendChild(clone);\n    });\n    originalSlides.slice().reverse().forEach(slide => {\n        const clone = slide.cloneNode(true);\n        clone.classList.add('norki-sel-objets-clone');\n        clone.setAttribute('aria-hidden', 'true');\n        clone.querySelectorAll('a').forEach(link => link.setAttribute('tabindex', '-1'));\n        track.insertBefore(clone, track.firstChild);\n    });\n\n    const allSlides = Array.from(container.querySelectorAll('.norki-sel-objets__slide'));\n\n    const getSlidesPerView = () => {\n        if (window.innerWidth > 1024) return 3; \/\/ PC\n        if (window.innerWidth > 768) return 2;  \/\/ Tablette\n        return 1;                               \/\/ Mobile\n    };\n\n    let itemsPerView = getSlidesPerView();\n    let itemWidthPct = 100 \/ itemsPerView;\n    allSlides.forEach(s => s.style.flex = `0 0 ${itemWidthPct}%`);\n    \n    let currentIndex = totalOriginal; \n    let isAnimating = false;\n\n    const updateNavVisibility = () => {\n        if (itemsPerView >= totalOriginal && navBar) {\n            navBar.style.display = 'none';\n        } else if (navBar) {\n            navBar.style.display = 'flex';\n        }\n    };\n\n    const updateCarousel = (instant = false) => {\n        updateNavVisibility();\n        \n        if (itemsPerView >= totalOriginal) {\n            currentIndex = totalOriginal; \n            track.style.transition = 'none';\n            track.style.transform = `translateX(-${currentIndex * itemWidthPct}%)`;\n            return;\n        }\n\n        track.style.transition = instant ? 'none' : 'transform 0.5s cubic-bezier(0.4, 0.0, 0.2, 1)';\n        track.style.transform = `translateX(-${currentIndex * itemWidthPct}%)`;\n    };\n\n    updateCarousel(true);\n\n    const moveNext = () => {\n        if (isAnimating || itemsPerView >= totalOriginal) return;\n        isAnimating = true;\n        currentIndex++;\n        updateCarousel();\n    };\n\n    const movePrev = () => {\n        if (isAnimating || itemsPerView >= totalOriginal) return;\n        isAnimating = true;\n        currentIndex--;\n        updateCarousel();\n    };\n\n    section.querySelector('.norki-sel-objets__next').addEventListener('click', moveNext);\n    section.querySelector('.norki-sel-objets__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 newItemsPerView = getSlidesPerView();\n        if (newItemsPerView !== itemsPerView) {\n            itemsPerView = newItemsPerView;\n            itemWidthPct = 100 \/ itemsPerView;\n            allSlides.forEach(s => s.style.flex = `0 0 ${itemWidthPct}%`);\n            updateCarousel(true);\n        }\n    });\n\n    \/\/ Swipe Tactile\n    let startX = 0, endX = 0;\n    const swipeThreshold = 40;\n\n    track.addEventListener('touchstart', (e) => {\n        if (itemsPerView >= totalOriginal) return; \n        startX = e.touches[0].clientX;\n    }, { passive: true });\n    \n    track.addEventListener('touchend', (e) => {\n        if (itemsPerView >= totalOriginal) return;\n        endX = e.changedTouches[0].clientX;\n        const diff = startX - endX;\n        if (Math.abs(diff) > swipeThreshold) {\n            if (diff > 0) moveNext();\n            else movePrev();\n        }\n    });\n\n    \/\/ Lazy Loading des images de la section\n    const imageObserver = new IntersectionObserver((entries, observer) => {\n        entries.forEach(entry => {\n            if (entry.isIntersecting) {\n                const img = entry.target;\n                if (img.dataset.src) {\n                    img.onload = () => img.classList.add('norki-loaded');\n                    img.src = img.dataset.src;\n                    img.removeAttribute('data-src');\n                    observer.unobserve(img);\n                }\n            }\n        });\n    }, { root: null, rootMargin: '0px 100% 0px 100%', threshold: 0 });\n    \n    document.querySelectorAll('.norki-lazy').forEach(img => {\n        imageObserver.observe(img);\n    });\n\n});\n<\/script>\n\n\n\n<div class=\"nk-hotels-showcase\">\n    \n    <!-- Image Sup\u00e9rieure avec D\u00e9grad\u00e9 -->\n    <section class=\"nk-hs-hero\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/Fauteuil-vintage-Athena-Calderone.png\" alt=\"Fauteuil vintage Athena Calderone\" class=\"nk-hs-hero__img\">\n        <div class=\"nk-hs-hero__fade\"><\/div>\n    <\/section>\n\n    <!-- ==========================================\n         BLOC HTML - S\u00c9MANTIQUE & INDEXABILIT\u00c9\n         ========================================== -->\n    <section id=\"wp-custom-projects-slider\" class=\"wp-custom-projects-slider-container\" aria-label=\"Nos r\u00e9alisations de Bord de Mer\">\n        \n        <!-- Bloc Information -->\n        <div class=\"projects-info\">\n            <h2 class=\"avenirmedium-font\">Explorez toutes nos <br><span class=\"baskerville-italic-font\">R\u00e9alisations de Bord de Mer<\/span><\/h2>\n            <a href=\"https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/\" class=\"link-voir-tout\">Voir tout<\/a>\n        <\/div>\n\n        <!-- Zone Slider -->\n        <div class=\"projects-slider\">\n            <button class=\"nav-arrow left-arrow\" aria-label=\"Projet pr\u00e9c\u00e9dent\">\n                <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/images\/arrow-right.svg\" alt=\"\" aria-hidden=\"true\">\n            <\/button>\n            <button class=\"nav-arrow right-arrow\" aria-label=\"Projet suivant\">\n                <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/images\/arrow-right.svg\" alt=\"\" aria-hidden=\"true\">\n            <\/button>\n\n            <!-- Slide 1 : Maison \u00e0 Knokke -->\n            <article class=\"slide is-coming-soon\">\n                <div class=\"slide-img-wrapper\">\n                    <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/Tapis-Khan-Blanc-dans-Maison-cubique-belgique.jpg\" alt=\"Esprit Cubique - Maison \u00e0 Knokke\">\n                <\/div>\n                <div class=\"slide-content\">\n                    <div class=\"slide-content-text\">\n                        <span class=\"slide-city\">Knokke<\/span>\n                        <h3>Esprit Cubique<\/h3>\n                        <p>Maison \u00e0 Knokke<\/p>\n                    <\/div>\n                    <a href=\"#\" class=\"link-voir\">Voir<\/a>\n                <\/div>\n            <\/article>\n\n            <!-- Slide 2 : Hamptons, Amagansett (Active par d\u00e9faut) -->\n            <article class=\"slide active\">\n                <div class=\"slide-img-wrapper\">\n                    <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/athena-calderone-interior-design-house-1-1-2048x1106.jpg\" alt=\"Maison Contemporaine - Hamptons, Amagansett\">\n                <\/div>\n                <div class=\"slide-content\">\n                    <div class=\"slide-content-text\">\n                        <span class=\"slide-city\">Hamptons<\/span>\n                        <h3>Maison Contemporaine<\/h3>\n                        <p>Hamptons, Amagansett<\/p>\n                    <\/div>\n                    <a href=\"https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/athena-calderone-hamptons\/\" class=\"link-voir\">Voir<\/a>\n                <\/div>\n            <\/article>\n\n            <!-- Slide 3 : Villa sur l'\u00cele de Zante -->\n            <article class=\"slide is-coming-soon\">\n                <div class=\"slide-img-wrapper\">\n                    <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/vintage-shearling-bespoke-sofa-2-2048x1559.jpg\" alt=\"D\u00e9coration contemporaine - Villa sur l'\u00cele de Zante\">\n                <\/div>\n                <div class=\"slide-content\">\n                    <div class=\"slide-content-text\">\n                        <span class=\"slide-city\">Zante<\/span>\n                        <h3>D\u00e9coration contemporaine<\/h3>\n                        <p>Villa sur l\u2019\u00cele de Zante<\/p>\n                    <\/div>\n                    <a href=\"#\" class=\"link-voir\">Voir<\/a>\n                <\/div>\n            <\/article>\n\n        <\/div>\n    <\/section>\n\n<\/div>\n\n<style>\n    \/* ==========================================\n       HERO TOP IMAGE\n       ========================================== *\/\n    .nk-hotels-showcase {\n        width: 100%;\n        background-color: var(--color-norki-brown, #50423d);\n    }\n\n    .nk-hs-hero {\n        position: relative;\n        width: 100%;\n        height: 75vh;\n        background-color: #000;\n    }\n\n    .nk-hs-hero__img {\n        width: 100%;\n        height: 100%;\n        object-fit: cover;\n        object-position: center 67%;\n        display: block;\n    }\n\n    .nk-hs-hero__fade {\n        position: absolute;\n        bottom: 0;\n        left: 0;\n        width: 100%;\n        height: 45%;\n        background: linear-gradient(to bottom, rgba(80, 66, 61, 0) 0%, var(--color-norki-brown, #50423d) 100%);\n        z-index: 2;\n        pointer-events: none;\n    }\n\n    \/* ==========================================\n       VARIABLES CSS & SLIDER STYLES\n       ========================================== *\/\n    .wp-custom-projects-slider-container {\n        --bg-section: var(--color-norki-brown, #50423d);\n        --text-light: #ffffff;\n        --text-muted: #d3ccc7;\n        --text-dark: var(--color-norki-beige, #f8f0ea);\n        --font-primary: Arial, sans-serif;\n        --font-secondary: serif;\n        --radius-img: 4px;\n        \n        box-sizing: border-box;\n        position: relative;\n        background-color: var(--bg-section);\n        width: 100%;\n        height: 100vh;\n        min-height: 850px;\n        color: var(--text-light);\n        font-family: var(--font-primary);\n        overflow: hidden;\n    }\n\n    .wp-custom-projects-slider-container *, \n    .wp-custom-projects-slider-container *::before, \n    .wp-custom-projects-slider-container *::after {\n        box-sizing: inherit;\n        margin: 0;\n        padding: 0;\n    }\n\n    .wp-custom-projects-slider-container .projects-info {\n        position: absolute;\n        top: 130px;\n        left: 50px;\n        width: 360px;\n        z-index: 10;\n    }\n\n    .wp-custom-projects-slider-container .projects-info h2 {\n        font-size: 35px;\n        font-weight: normal;\n        margin-bottom: 20px;\n        color: var(--text-dark);\n        line-height: 1.15;\n    }\n\n    .wp-custom-projects-slider-container .projects-info h2 span {\n        font-family: \"LibreBaskervilleItalic\", sans-serif;\n    }\n\n    .wp-custom-projects-slider-container .link-voir-tout {\n        font-size: 0.95rem;\n        color: var(--text-light);\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    .wp-custom-projects-slider-container .link-voir-tout:hover {\n        text-decoration-color: transparent;\n        opacity: 0.7;\n    }\n\n    .wp-custom-projects-slider-container .nav-arrow {\n        position: absolute;\n        top: 33%;\n        transform: translateY(-50%);\n        background: transparent;\n        border: none;\n        cursor: pointer;\n        z-index: 15;\n        transition: opacity 0.2s ease, transform 0.2s ease;\n        padding: 10px;\n        opacity: 0.7;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n    }\n\n    .wp-custom-projects-slider-container .nav-arrow img {\n        width: 20px; \n        height: 20px;\n        display: block;\n        filter: brightness(0) invert(1);\n    }\n\n    .wp-custom-projects-slider-container .left-arrow img {\n        transform: scaleX(-1);\n    }\n\n    @media (hover: hover) {\n        .wp-custom-projects-slider-container .nav-arrow:hover {\n            opacity: 1;\n            transform: translateY(-50%) scale(1.1);\n        }\n    }\n\n    .wp-custom-projects-slider-container .nav-arrow:active {\n        opacity: 0.4 !important;\n        transform: translateY(-50%) scale(0.9) !important;\n        transition: none !important;\n    }\n\n    .wp-custom-projects-slider-container .left-arrow { left: 30px; }\n    .wp-custom-projects-slider-container .right-arrow { right: 30px; }\n\n    .wp-custom-projects-slider-container .projects-slider {\n        position: absolute;\n        bottom: 40px; \n        width: 100vw;\n        height: 80vh; \n        display: flex;\n        align-items: flex-end;\n        justify-content: center;\n    }\n\n    .wp-custom-projects-slider-container .slide {\n        position: absolute;\n        bottom: 0;\n        height: 50vh;\n        width: auto;\n        aspect-ratio: 1272 \/ 1140;\n        transition: all 0.8s cubic-bezier(0.25, 1, 0.5, 1);\n        opacity: 0;\n        visibility: hidden;\n        z-index: 0;\n    }\n\n    .wp-custom-projects-slider-container .slide-img-wrapper {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: hidden;\n        border-radius: var(--radius-img);\n        z-index: 0;\n    }\n\n    .wp-custom-projects-slider-container .slide img {\n        width: 100%;\n        height: 100%;\n        object-fit: cover;\n        display: block;\n        border-radius: var(--radius-img);\n        transition: transform 0.5s ease;\n    }\n\n    \/* --- HOVER & COMING SOON --- *\/\n    .wp-custom-projects-slider-container .slide.active:not(.is-coming-soon):hover img {\n        transform: scale(1.03);\n    }\n\n    .wp-custom-projects-slider-container .slide.is-coming-soon,\n    .wp-custom-projects-slider-container .slide.active.is-coming-soon {\n        cursor: not-allowed !important;\n    }\n\n    .wp-custom-projects-slider-container .slide.is-coming-soon img {\n        opacity: 0.7;\n    }\n\n    \/* Tooltip ::before au lieu de ::after pour pr\u00e9server le d\u00e9grad\u00e9 sombre *\/\n    .wp-custom-projects-slider-container .slide.active.is-coming-soon:hover::before {\n        content: \"Page en cours de cr\u00e9ation\";\n        position: absolute;\n        bottom: -40px;\n        left: 50%;\n        transform: translateX(-50%);\n        background: #1f2937;\n        color: #fff;\n        padding: 6px 12px;\n        font-size: 0.75rem;\n        border-radius: 6px;\n        white-space: nowrap;\n        pointer-events: none;\n        z-index: 50;\n        box-shadow: 0 4px 6px -1px rgb(0 0 0 \/ 0.1);\n    }\n\n    \/* Masquer le lien sur les \u00e9l\u00e9ments indisponibles *\/\n    .wp-custom-projects-slider-container .slide.is-coming-soon .link-voir {\n        display: none;\n    }\n\n    .wp-custom-projects-slider-container .slide::after {\n        content: '';\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 40%; \n        background: linear-gradient(to bottom, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.5) 30%, rgba(0,0,0,0.15) 65%, transparent 100%);\n        border-radius: var(--radius-img) var(--radius-img) 0 0;\n        opacity: 0;\n        transition: opacity 0.4s ease;\n        pointer-events: none;\n        z-index: 1;\n    }\n\n    .wp-custom-projects-slider-container .slide.active::after { opacity: 1; }\n\n    .wp-custom-projects-slider-container .slide-content {\n        text-align: left;\n        position: absolute;\n        top: 30px;\n        left: 30px;\n        right: 30px;\n        display: flex;\n        justify-content: space-between;\n        align-items: flex-start;\n        opacity: 0;\n        transition: opacity 0.4s ease;\n        pointer-events: none;\n        z-index: 2;\n    }\n\n    .wp-custom-projects-slider-container .slide-content-text .slide-city {\n        display: block;\n        color: var(--text-muted);\n        font-size: 0.75rem;\n        text-transform: uppercase;\n        letter-spacing: 0.05em;\n        margin-bottom: 6px;\n        font-weight: 600;\n        text-shadow: 0 1px 3px rgba(0,0,0,0.5);\n    }\n\n    .wp-custom-projects-slider-container .slide-content-text h3 {\n        color: var(--text-light);\n        font-size: 1.15rem;\n        font-weight: normal;\n        margin-bottom: 5px;\n        line-height: 1.3;\n        text-shadow: 0 1px 3px rgba(0,0,0,0.5);\n    }\n\n    .wp-custom-projects-slider-container .slide-content-text p {\n        font-family: var(--font-secondary);\n        font-style: italic;\n        font-size: 1rem;\n        color: white;\n        line-height: 1.4;\n    }\n\n    .wp-custom-projects-slider-container .link-voir {\n        position: relative;\n        color: var(--text-light);\n        text-decoration: none;\n        border-bottom: 1px solid var(--text-light);\n        font-size: 0.8rem;\n        opacity: 0;\n        transform: translateY(10px);\n        transition: all 0.4s ease;\n        pointer-events: auto;\n        transform-origin: right center;\n        text-shadow: 0 1px 3px rgba(0,0,0,0.5);\n    }\n\n    .wp-custom-projects-slider-container .slide.active .link-voir {\n        opacity: 1;\n        transform: translateY(0) scale(1);\n    }\n\n    @media (hover: hover) {\n        .wp-custom-projects-slider-container .slide.active:hover .link-voir {\n            transform: translateY(0) scale(1.15);\n        }\n    }\n\n    .wp-custom-projects-slider-container .slide.prev {\n        opacity: 1;\n        visibility: visible;\n        transform: translateX(calc(50px - 50vw + 50%));\n        z-index: 1;\n        cursor: pointer;\n    }\n\n    .wp-custom-projects-slider-container .slide.active {\n        opacity: 1;\n        visibility: visible;\n        transform: translateX(calc(90px + (50vh * 1272 \/ 1140) - 50vw + 50%));\n        z-index: 2;\n        height: 76vh;\n        cursor: pointer;\n    }\n\n    .wp-custom-projects-slider-container .slide.next {\n        opacity: 1;\n        visibility: visible;\n        transform: translateX(calc(130px + (126vh * 1272 \/ 1140) - 50vw + 50%));\n        z-index: 1;\n        cursor: pointer;\n    }\n\n    .wp-custom-projects-slider-container .slide.active .slide-content {\n        opacity: 1;\n        transition-delay: 0.4s;\n    }\n\n    \/* ==========================================\n       RESPONSIVE DESIGN\n       ========================================== *\/\n    @media (max-width: 1700px) {\n        .wp-custom-projects-slider-container .slide.prev, \n        .wp-custom-projects-slider-container .slide.next { filter: brightness(0.9); }\n        \n        .wp-custom-projects-slider-container {\n            height: auto;\n            min-height: 65vh;\n            display: flex;\n            flex-direction: column;\n            justify-content: flex-start;\n            padding-bottom: 40px; \n            text-align: center;\n        }\n        \n        .wp-custom-projects-slider-container .projects-info {\n            position: relative;\n            top: 0; left: 0; width: 100%;\n            padding: 60px 20px 20px;\n        }\n        \n        .wp-custom-projects-slider-container .projects-slider {\n            position: relative; top: auto; bottom: auto; left: 50%;\n            transform: translateX(-50%); height: 55cqi; max-height: 75vh;\n        }\n        \n        .wp-custom-projects-slider-container .slide { \n            width: 45vw; \n            height: auto; \n            max-height: 60vh; \n        }\n        \n        .wp-custom-projects-slider-container .slide.active { \n            width: 60vw; \n            height: auto; \n            max-height: 75vh; \n            transform: translateX(0); \n        }\n        \n        .wp-custom-projects-slider-container .slide.prev { transform: translateX(-50vw); } \n        .wp-custom-projects-slider-container .slide.next { transform: translateX(50vw); } \n        \n        .wp-custom-projects-slider-container .nav-arrow {\n            top: auto;\n            bottom: calc(min(45vw * (1140 \/ 1272), 60vh) + 15px);\n            transform: none;\n            transition: opacity 0.2s ease, transform 0.2s ease;\n        }\n\n        @media (hover: hover) {\n            .wp-custom-projects-slider-container .nav-arrow:hover { \n                transform: scale(1.1); \n                opacity: 1;\n            }\n        }\n\n        .wp-custom-projects-slider-container .nav-arrow:active {\n            opacity: 0.4 !important;\n            transform: scale(0.9) !important;\n            transition: none !important;\n        }\n\n        .wp-custom-projects-slider-container .left-arrow { left: 2vw; }\n        .wp-custom-projects-slider-container .right-arrow { right: 2vw; }\n    }\n\n    @media (max-width: 720px) {\n        .wp-custom-projects-slider-container .projects-info h2 { font-size: 1.4rem; }\n        .wp-custom-projects-slider-container .projects-slider { height: 75vw; }\n        .wp-custom-projects-slider-container .slide { \n            width: 65vw; \n            height: auto; \n        }\n        .wp-custom-projects-slider-container .slide.active { \n            width: 85vw; \n            height: auto; \n        }\n        .wp-custom-projects-slider-container .slide::after {\n            height: 60%;\n            background: linear-gradient(to bottom, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.5) 30%, rgba(0,0,0,0.35) 65%, transparent 100%);\n        }\n        .wp-custom-projects-slider-container .slide.prev { transform: translateX(-75vw); }\n        .wp-custom-projects-slider-container .slide.next { transform: translateX(75vw); }\n        .wp-custom-projects-slider-container .nav-arrow { bottom: calc(min(65vw * (1140 \/ 1272), 60vh) + 15px); }\n        .wp-custom-projects-slider-container .left-arrow { left: 0; }\n        .wp-custom-projects-slider-container .right-arrow { right: 0; }\n\n        .wp-custom-projects-slider-container .slide-content {\n            top: 20px; bottom: 30px; text-align: center;\n            flex-direction: column; align-items: center; justify-content: space-between;\n        }\n        .wp-custom-projects-slider-container .slide-content-text h3 { margin-bottom: 5px; }\n        .wp-custom-projects-slider-container .link-voir {\n            transform-origin: center center;\n        }\n    }\n\n    @media (max-width: 420px) {\n        .wp-custom-projects-slider-container .projects-slider { height: 95vw; max-height: none; }\n        .wp-custom-projects-slider-container .nav-arrow { bottom: calc(85vw * (1140 \/ 1272) + 10px); }\n        .wp-custom-projects-slider-container .left-arrow { left: 5vw; }\n        .wp-custom-projects-slider-container .right-arrow { right: 5vw; }\n    }\n<\/style>\n\n<script>\n(function() {\n    const CONFIG_COMPOSANT = {\n        delaiAutoPlay: 8000,\n        delaiPauseApresClic: 15000\n    };\n\n    const container = document.getElementById('wp-custom-projects-slider');\n    if (!container) return; \n\n    const slidesElements = Array.from(container.querySelectorAll('.slide'));\n    let currentIndex = slidesElements.findIndex(slide => slide.classList.contains('active'));\n    if (currentIndex === -1) currentIndex = 0;\n\n    let autoplayInterval;\n    let pauseTimeout;\n\n    function renderSlider() {\n        slidesElements.forEach(slide => slide.classList.remove('active', 'prev', 'next'));\n        \n        slidesElements[currentIndex].classList.add('active');\n        \n        let prevIndex = currentIndex - 1 < 0 ? slidesElements.length - 1 : currentIndex - 1;\n        let nextIndex = currentIndex + 1 >= slidesElements.length ? 0 : currentIndex + 1;\n        \n        slidesElements[prevIndex].classList.add('prev');\n        slidesElements[nextIndex].classList.add('next');\n    }\n\n    function goToNextSlide() {\n        currentIndex = currentIndex + 1 >= slidesElements.length ? 0 : currentIndex + 1;\n        renderSlider();\n    }\n\n    function goToPrevSlide() {\n        currentIndex = currentIndex - 1 < 0 ? slidesElements.length - 1 : currentIndex - 1;\n        renderSlider();\n    }\n\n    function startAutoplay() {\n        clearInterval(autoplayInterval);\n        autoplayInterval = setInterval(goToNextSlide, CONFIG_COMPOSANT.delaiAutoPlay); \n    }\n\n    function pauseAutoplayTemporarily() {\n        clearInterval(autoplayInterval); \n        clearTimeout(pauseTimeout); \n        pauseTimeout = setTimeout(startAutoplay, CONFIG_COMPOSANT.delaiPauseApresClic);\n    }\n\n    container.querySelector('.left-arrow').addEventListener('click', () => {\n        goToPrevSlide();\n        pauseAutoplayTemporarily();\n    });\n\n    container.querySelector('.right-arrow').addEventListener('click', () => {\n        goToNextSlide();\n        pauseAutoplayTemporarily();\n    });\n\n    slidesElements.forEach(slide => {\n        slide.addEventListener('click', (e) => {\n            if (slide.classList.contains('active')) {\n                if (!e.target.classList.contains('link-voir')) {\n                    const linkElement = slide.querySelector('.link-voir');\n                    if (linkElement) {\n                        const linkHref = linkElement.getAttribute('href');\n                        if (linkHref && linkHref !== '#') window.location.href = linkHref;\n                    }\n                }\n            } else if (slide.classList.contains('prev')) {\n                goToPrevSlide();\n                pauseAutoplayTemporarily();\n            } else if (slide.classList.contains('next')) {\n                goToNextSlide();\n                pauseAutoplayTemporarily();\n            }\n        });\n    });\n\n    let touchStartX = 0;\n    let touchEndX = 0;\n    const sliderContainer = container.querySelector('.projects-slider');\n\n    function handleSwipeGesture() {\n        const swipeThreshold = 50; \n        if (touchEndX < touchStartX - swipeThreshold) {\n            goToNextSlide();\n            pauseAutoplayTemporarily();\n        }\n        if (touchEndX > touchStartX + swipeThreshold) {\n            goToPrevSlide();\n            pauseAutoplayTemporarily();\n        }\n    }\n\n    sliderContainer.addEventListener('touchstart', (e) => {\n        touchStartX = e.changedTouches[0].screenX;\n    }, { passive: true });\n\n    sliderContainer.addEventListener('touchend', (e) => {\n        touchEndX = e.changedTouches[0].screenX;\n        handleSwipeGesture();\n    });\n\n    renderSlider();\n    startAutoplay();\n})();\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Villa en Bord de Mer Brighton Brighton, Angleterre 2019 Canap\u00e9s sur mesure L&rsquo;Exclusivit\u00e9 du Bord de Mer Gabriel Bernardi d\u00e9cline la British Touch Si la Maison Norki est mondialement reconnue pour ses am\u00e9nagements de chalets prestigieux, elle d\u00e9montre ici sa capacit\u00e9 \u00e0 s&rsquo;adapter avec brio et exclusivit\u00e9 aux projets de bord de mer. Cette demeure [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2447,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-page-builder-no-header-footer.php","meta":{"_uag_custom_page_level_css":"\/* A COPIER COLLER *\/\n\n:root {\n\t--wp--preset--color--contrast: black;\n    \/* Paddings de section standards *\/\n    --section-pad-v-dt: 80px;\n    --section-pad-h-dt: 5vw;\n    \n    --section-pad-v-tab: 50px;\n    --section-pad-h-tab: 4vw;\n    \n    --section-pad-v-mob: 40px;\n    --section-pad-h-mob: 20px;\n\n    \/* Couleurs  Polices *\/\n    --color-norki-brown: #50423d;\n    --color-norki-beige: #f8f0ea;\n    --font-baskerville: 'Baskerville', serif;\n    --font-montserrat: 'Montserrat', sans-serif;\n}\n\n@font-face {\n  font-family: 'LibreBaskervilleItalic';\n  src: url('\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/fonts\/Libre-Baskerville\/LibreBaskerville-Italic.ttf') format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n\n@font-face {\n  font-family: 'Bestermind';\n  src: url('\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/fonts\/Bestermind\/BestermindRegular.ttf') format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n\n@font-face {\n  font-family: 'AvenirBook';\n  src: url('\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/fonts\/Avenir\/Avenir-Book-01.otf') format('opentype');\n  font-weight: normal;\n  font-style: normal;\n}\n\n\n@font-face {\n  font-family: 'AvenirMedium';\n  src: url('\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/fonts\/Avenir\/Avenir-Medium-09.otf') format('opentype');\n  font-weight: normal;\n  font-style: normal;\n}\n\n@font-face {\n  font-family: 'AvenirBookOblique';\n  src: url('\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/fonts\/Avenir\/Avenir-BookOblique-02.otf') format('opentype');\n  font-weight: normal;\n  font-style: normal;\n}\n\n@font-face {\n  font-family: 'Pertili';\n  src: url('\/sur-mesure\/wp-content\/themes\/twentytwentyfour\/assets\/fonts\/PERTILI.TTF') format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n\n.pertili-font {\n\tfont-family: \"Pertili\", sans-serif !important;\n}\n\n.bestermind-font {\n\tfont-family: \"Bestermind\", sans-serif !important;\n}\n\n.avenirbookoblique-font {\n\tfont-family: \"AvenirBookOblique\", sans-serif !important;\n}\n\n.baskerville-italic-font {\n\tfont-family: \"LibreBaskervilleItalic\", sans-serif !important;\n}\n\n.avenirmedium-font {\n\tfont-family: \"AvenirMedium\", sans-serif !important;\n}\n\nbody:not(.wp-admin) * {\n  font-family: \"AvenirBook\", sans-serif;\n}\n\nbody {\n\tbackground-color: #f8f0ea !important;\n\tcolor: black;\n}\n\nh2 {\n\tfont-family: \"AvenirMedium\", sans-serif !important;\n}\n\n.components-sandbox {\n\tmax-height: 500px;\n}\n\n\/* A COPIER COLLER END *\/","_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-3649","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Norki &amp; Gabriel Bernardi | Maison de Luxe en Bord de Mer<\/title>\n<meta name=\"description\" content=\"Canap\u00e9s sur-mesure Norki en peau de vache bleu marine et poulain blanc pour une maison de bord de mer sign\u00e9e Gabriel Bernardi.\" \/>\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\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/gabriel-bernardi-brighton\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Norki &amp; Gabriel Bernardi | Maison de Luxe en Bord de Mer\" \/>\n<meta property=\"og:description\" content=\"Canap\u00e9s sur-mesure Norki en peau de vache bleu marine et poulain blanc pour une maison de bord de mer sign\u00e9e Gabriel Bernardi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/gabriel-bernardi-brighton\/\" \/>\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-21T10:34:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/villa-angleterre-hero.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.norki.com\\\/fr\\\/sur-mesure\\\/realisations-projets-decoration-interieur-luxe\\\/bord-de-mer\\\/gabriel-bernardi-brighton\\\/\",\"url\":\"https:\\\/\\\/www.norki.com\\\/fr\\\/sur-mesure\\\/realisations-projets-decoration-interieur-luxe\\\/bord-de-mer\\\/gabriel-bernardi-brighton\\\/\",\"name\":\"Norki & Gabriel Bernardi | Maison de Luxe en Bord de Mer\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/sur-mesure\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/fr\\\/sur-mesure\\\/realisations-projets-decoration-interieur-luxe\\\/bord-de-mer\\\/gabriel-bernardi-brighton\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/fr\\\/sur-mesure\\\/realisations-projets-decoration-interieur-luxe\\\/bord-de-mer\\\/gabriel-bernardi-brighton\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.norki.com\\\/sur-mesure\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/villa-angleterre-hero.png\",\"datePublished\":\"2026-05-28T08:04:58+00:00\",\"dateModified\":\"2026-07-21T10:34:27+00:00\",\"description\":\"Canap\u00e9s sur-mesure Norki en peau de vache bleu marine et poulain blanc pour une maison de bord de mer sign\u00e9e Gabriel Bernardi.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/fr\\\/sur-mesure\\\/realisations-projets-decoration-interieur-luxe\\\/bord-de-mer\\\/gabriel-bernardi-brighton\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.norki.com\\\/fr\\\/sur-mesure\\\/realisations-projets-decoration-interieur-luxe\\\/bord-de-mer\\\/gabriel-bernardi-brighton\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.norki.com\\\/fr\\\/sur-mesure\\\/realisations-projets-decoration-interieur-luxe\\\/bord-de-mer\\\/gabriel-bernardi-brighton\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.norki.com\\\/sur-mesure\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/villa-angleterre-hero.png\",\"contentUrl\":\"https:\\\/\\\/www.norki.com\\\/sur-mesure\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/villa-angleterre-hero.png\",\"width\":2260,\"height\":1888},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.norki.com\\\/fr\\\/sur-mesure\\\/realisations-projets-decoration-interieur-luxe\\\/bord-de-mer\\\/gabriel-bernardi-brighton\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.norki.com\\\/fr\\\/sur-mesure\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nos r\u00e9alisations\",\"item\":\"https:\\\/\\\/www.norki.com\\\/fr\\\/sur-mesure\\\/realisations-projets-decoration-interieur-luxe\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Bord de Mer\",\"item\":\"https:\\\/\\\/www.norki.com\\\/fr\\\/sur-mesure\\\/realisations-projets-decoration-interieur-luxe\\\/bord-de-mer\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Villa Angleterre\"}]},{\"@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":"Norki & Gabriel Bernardi | Maison de Luxe en Bord de Mer","description":"Canap\u00e9s sur-mesure Norki en peau de vache bleu marine et poulain blanc pour une maison de bord de mer sign\u00e9e Gabriel Bernardi.","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\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/gabriel-bernardi-brighton\/","og_locale":"fr_FR","og_type":"article","og_title":"Norki & Gabriel Bernardi | Maison de Luxe en Bord de Mer","og_description":"Canap\u00e9s sur-mesure Norki en peau de vache bleu marine et poulain blanc pour une maison de bord de mer sign\u00e9e Gabriel Bernardi.","og_url":"https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/gabriel-bernardi-brighton\/","og_site_name":"Norki","article_publisher":"https:\/\/facebook.com\/NorkiDecoration","article_modified_time":"2026-07-21T10:34:27+00:00","og_image":[{"url":"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/villa-angleterre-hero.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/gabriel-bernardi-brighton\/","url":"https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/gabriel-bernardi-brighton\/","name":"Norki & Gabriel Bernardi | Maison de Luxe en Bord de Mer","isPartOf":{"@id":"https:\/\/www.norki.com\/sur-mesure\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/gabriel-bernardi-brighton\/#primaryimage"},"image":{"@id":"https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/gabriel-bernardi-brighton\/#primaryimage"},"thumbnailUrl":"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/villa-angleterre-hero.png","datePublished":"2026-05-28T08:04:58+00:00","dateModified":"2026-07-21T10:34:27+00:00","description":"Canap\u00e9s sur-mesure Norki en peau de vache bleu marine et poulain blanc pour une maison de bord de mer sign\u00e9e Gabriel Bernardi.","breadcrumb":{"@id":"https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/gabriel-bernardi-brighton\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/gabriel-bernardi-brighton\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/gabriel-bernardi-brighton\/#primaryimage","url":"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/villa-angleterre-hero.png","contentUrl":"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/villa-angleterre-hero.png","width":2260,"height":1888},{"@type":"BreadcrumbList","@id":"https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/gabriel-bernardi-brighton\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.norki.com\/fr\/sur-mesure\/"},{"@type":"ListItem","position":2,"name":"Nos r\u00e9alisations","item":"https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/"},{"@type":"ListItem","position":3,"name":"Bord de Mer","item":"https:\/\/www.norki.com\/fr\/sur-mesure\/realisations-projets-decoration-interieur-luxe\/bord-de-mer\/"},{"@type":"ListItem","position":4,"name":"Villa Angleterre"}]},{"@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":"Villa en Bord de Mer Brighton Brighton, Angleterre 2019 Canap\u00e9s sur mesure L&rsquo;Exclusivit\u00e9 du Bord de Mer Gabriel Bernardi d\u00e9cline la British Touch Si la Maison Norki est mondialement reconnue pour ses am\u00e9nagements de chalets prestigieux, elle d\u00e9montre ici sa capacit\u00e9 \u00e0 s&rsquo;adapter avec brio et exclusivit\u00e9 aux projets de bord de mer. Cette demeure\u2026","_links":{"self":[{"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/3649","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=3649"}],"version-history":[{"count":47,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/3649\/revisions"}],"predecessor-version":[{"id":5126,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/3649\/revisions\/5126"}],"up":[{"embeddable":true,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/2447"}],"wp:attachment":[{"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/media?parent=3649"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/categories?post=3649"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/tags?post=3649"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}