{"id":5247,"date":"2026-10-27T05:47:02","date_gmt":"2026-10-27T04:47:02","guid":{"rendered":"https:\/\/www.norki.com\/sur-mesure\/?page_id=5247"},"modified":"2026-10-28T03:28:16","modified_gmt":"2026-10-28T02:28:16","slug":"billy-cotton-gstaad","status":"publish","type":"page","link":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/billy-cotton-gstaad\/","title":{"rendered":"Billy Cotton"},"content":{"rendered":"\n<section class=\"nk-hero\">\n  <div class=\"nk-hero__bg\">\n    <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Terasse.jpg\" alt=\"Carved wooden balcony of the chalet designed by Billy Cotton in Gstaad, facing the snow-capped peaks\" 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      <div class=\"nk-hero__title-wrapper\">\n        <h1 class=\"nk-hero__title avenirmedium-font\">Majestic Chalet in Gstaad<\/h1>\n      <\/div>\n      <div class=\"nk-hero__subtitle-wrapper\">\n        <span class=\"nk-hero__subtitle baskerville-italic-font\">Chalet in Gstaad<\/span>\n      <\/div>\n    <\/div>\n\n    <hr class=\"nk-hero__divider\">\n\n    <div class=\"nk-hero__meta\">\n      <span class=\"nk-hero__meta-item avenirmedium-font\">Gstaad<\/span>\n      <span class=\"nk-hero__meta-item avenirmedium-font\">2026<\/span>\n      <span class=\"nk-hero__meta-item\">Curtains, Sheers, Bespoke Sofa &amp; Furniture, Vintage<\/span>\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n.nk-hero {\n  position: relative;\n  width: 100%;\n  \/* Height set above 100vh to naturally nudge users to scroll down *\/\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\/* Linear gradient overlay for solid text legibility *\/\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\/* Header Text (Titres - Larger typography and higher positioning) *\/\n.nk-hero__header {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-end;\n  margin-bottom: 35px; \/* Spacing increased to detach the title row from the line below *\/\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); \/* Larger fluid font size *\/\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); \/* Larger fluid font size to match title *\/\n  line-height: 1.1;\n  font-weight: normal;\n  display: block;\n}\n\n\/* Superscript \"e\" customis\u00e9 \n  Utilisation de position relative pour un contr\u00f4le parfait (\"pixel-perfect\") \n  plut\u00f4t que vertical-align qui peut alt\u00e9rer le line-height.\n*\/\n.nk-hero__superscript {\n  font-size: 0.55em;\n  position: relative;\n  top: -0.45em;\n  vertical-align: baseline;\n}\n\n\/* White Divider *\/\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\/* Meta Informations (Equal spacing layout) *\/\n.nk-hero__meta {\n  display: flex;\n  justify-content: flex-start;\n  gap: 40px; \/* Equal spacing between each item *\/\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; \/* Maintient les \u00e9l\u00e9ments sur 1 ligne *\/\n    gap: 25px; \/* Espacement raisonnable *\/\n    overflow-x: auto; \/* Autorise le scroll *\/\n    -webkit-overflow-scrolling: touch; \/* Inertie iOS *\/\n    scrollbar-width: none; \/* Cache la barre Firefox *\/\n    -ms-overflow-style: none; \/* Cache la barre IE\/Edge *\/\n    padding-bottom: 2px;\n    padding-left: 8px; \/* Ajout d'une marge de s\u00e9curit\u00e9 pour \u00e9viter que la premi\u00e8re lettre soit rogn\u00e9e *\/\n    padding-right: 8px;\n  }\n\n  \/* Cache la scrollbar sur Chrome\/Safari *\/\n  .nk-hero__meta::-webkit-scrollbar {\n    display: none;\n  }\n\n  .nk-hero__meta-item {\n    white-space: nowrap; \/* Emp\u00eache de passer \u00e0 la ligne \u00e0 l'int\u00e9rieur d'un item *\/\n    flex-shrink: 0; \/* Emp\u00eache le texte d'\u00eatre \u00e9cras\u00e9 *\/\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 divis\u00e9e par 3 (0.5 pixel par frame pour une douceur maximale)\n  let resumeTimeout;\n  let extremityTimeout; \/\/ Identifiant pour la pause aux extr\u00e9mit\u00e9s et au chargement\n  let isInteracting = false;\n  let isPausedAtExtremity = false; \/\/ Verrou de temporisation\n  let currentScroll = metaContainer.scrollLeft;\n\n  \/\/ Fonction d'animation \"va-et-vient\"\n  function autoScroll() {\n    if (isInteracting) return;\n    if (isPausedAtExtremity) {\n       animationFrameId = requestAnimationFrame(autoScroll);\n       return;\n    }\n\n    \/\/ Si le conteneur ne d\u00e9borde pas (ex: sur PC), on ne fait rien\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); \/\/ Attente 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); \/\/ Attente 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; \/\/ Synchronisation initiale\n\n      \/\/ PAUSE INITIALE DE 2 SECONDES AU CHARGEMENT \/ APPARITION \u00c0 L'\u00c9CRAN\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  \/\/ Gestion des interactions (pause l'animation, puis la reprend)\n  function handleInteraction() {\n    isInteracting = true;\n    isPausedAtExtremity = false; \/\/ Reset de la pause en cas de geste\n    clearTimeout(extremityTimeout); \/\/ Annulation du d\u00e9lai d'attente initial ou d'extr\u00e9mit\u00e9\n    stopAnimation();\n    clearTimeout(resumeTimeout);\n\n    \/\/ Reprise de l'animation apr\u00e8s 3 secondes d'inactivit\u00e9\n    resumeTimeout = setTimeout(() => {\n      isInteracting = false;\n      \/\/ Ne relance que si on est sur mobile\n      if (window.innerWidth <= 640) {\n        currentScroll = metaContainer.scrollLeft; \/\/ Resync\n        startAnimation();\n      }\n    }, 3000);\n  }\n\n  \/\/ Intersection Observer pour lancer l'animation uniquement si visible \u00e0 l'\u00e9cran\n  const observer = new IntersectionObserver((entries) => {\n    entries.forEach(entry => {\n      if (entry.isIntersecting) {\n        \/\/ Uniquement sur mobile\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 corrig\u00e9s (touch uniquement pour \u00e9viter les conflits) *\/\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  \/\/ Reset ou d\u00e9marrage en cas de redimensionnement de la fen\u00eatre\n  window.addEventListener('resize', () => {\n    if (window.innerWidth > 640) {\n       stopAnimation();\n       metaContainer.scrollLeft = 0; \/\/ Remise \u00e0 z\u00e9ro si repasse sur Desktop\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        Gstaad, Understated Elegance\n        <span class=\"nk-intro__title-accent baskerville-italic-font\">and the Alpine Art of Living<\/span>\n      <\/h2>\n    <\/div>\n\n    <div class=\"nk-intro__content\">\n      <p class=\"nk-intro__paragraph\">\n        Nestled in the heart of the Bernese Oberland, amid a landscape of unspoiled valleys, <a href=\"https:\/\/www.norki.com\/en\/content\/17-luxury-shopping-gstaad-interior-design-buy-rug-throw-cushion-furniture\" class=\"nk-intro__inline-link\" title=\"Discover the Norki boutique in Gstaad\">Gstaad<\/a> stands as the epitome of premium ski resorts. More than a simple winter destination, this Swiss village is a true sanctuary of <a href=\"https:\/\/www.norki.com\/en\/studio-chalet\/mountain-decor-inspiration-moodboard\/\" class=\"nk-intro__inline-link\" title=\"Discover the Chalet Style by Studio Chalet\">the alpine art of living<\/a>, where elegance is whispered rather than displayed. The atmosphere is steeped in an \u00ab\u00a0old money\u00a0\u00bb culture, attracting an international clientele in search of absolute discretion and refinement.\n      <\/p>\n      <p class=\"nk-intro__paragraph\">\n        Along the main promenade, <a href=\"https:\/\/www.norki.com\/en\/studio-chalet\/luxury-chalet-interior-design\/\" class=\"nk-intro__inline-link\" title=\"Discover Studio Chalet's chalet interior design expertise\">traditional chalets<\/a> with ornate fa\u00e7ades house the most prestigious luxury boutiques, creating a picture-postcard setting where world-class skiing meets an art of living of rare sophistication.\n      <\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n\/* D\u00e9finition des variables locales pour la pr\u00e9visualisation isol\u00e9e. \n  Dans un environnement de production avec Importation DA, ces variables seront g\u00e9r\u00e9es globalement. \n*\/\n:root {\n  --color-norki-beige: #f4eee9; \/* Couleur de fond extraite du visuel *\/\n  --section-pad-v-dt: 100px;\n  --section-pad-h-dt: 40px;\n  --section-pad-v-tab: 60px;\n  --section-pad-h-tab: 30px;\n  --section-pad-v-mob: 50px;\n  --section-pad-h-mob: 20px;\n}\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  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; \/* \"start\" plut\u00f4t que \"stroke\" pour un alignement par le haut *\/\n}\n\n\/* Liens inline (soulignement \u00e9l\u00e9gant) *\/\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\/* Gestion du \"\u00e8me\" exposant *\/\n.nk-intro__superscript {\n  font-size: 0.55em;\n  position: relative;\n  top: -0.45em;\n  vertical-align: baseline;\n}\n\n\/* Colonne de gauche : Titre *\/\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.3;\n  color: #000000;\n  font-weight: normal;\n  letter-spacing: -0.01em;\n  margin: 0 !important; \/* Neutralise les surcharges th\u00e8mes *\/\n}\n\n.nk-intro__title-accent {\n  display: block;\n  font-size: 1.05em; \/* Ajustement pour correspondre visuellement \u00e0 la maquette *\/\n  color: #000000;\n  margin-top: 4px;\n}\n\n\/* Colonne de droite : Paragraphes *\/\n.nk-intro__content {\n  display: flex;\n  flex-direction: column;\n  gap: 24px; \/* Espace \u00e9quilibr\u00e9 entre les blocs de texte *\/\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%; \/* Ajust\u00e9 \u00e0 90% pour un meilleur remplissage de l'espace comme sur le visuel *\/\n  margin: 0 !important;\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; \/* Passage sur une colonne *\/\n    gap: 32px;\n  }\n  \n  .nk-intro__title {\n    max-width: 90%;\n  }\n\n  .nk-intro__paragraph {\n    text-align: left; \/* Plus naturel sur \u00e9crans moyens et tactiles *\/\n    max-width: 100%;\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 {\n    max-width: 100%;\n  }\n  \n  .nk-intro__title-accent {\n    margin-top: 4px;\n  }\n}\n<\/style>\n\n\n\n<section class=\"nk-simple-image\">\n  <!-- Clickable image -->\n  <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/\" class=\"nk-simple-image__wrapper\" title=\"Discover bespoke upholstery by Ateliers Norki\">\n    <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Salon.jpg\" alt=\"Living room of the Billy Cotton chalet in Gstaad with carved fireplace, corner sofa and blue armchair\" class=\"nk-simple-image__img\" loading=\"lazy\">\n  <\/a>\n<\/section>\n\n<style>\n\/* Variables de mise en page coh\u00e9rentes avec la charte graphique *\/\n:root {\n  --color-norki-beige: #f4eee9; \/* Couleur beige clair fid\u00e8le au reste de la page *\/\n  --section-pad-h-dt: 40px;\n  --section-pad-h-tab: 30px;\n  --section-pad-h-mob: 20px;\n}\n\n\/* ============================================\n  COMPOSANT : SECTION IMAGE UNIQUE IMMERSIVE\n============================================ *\/\n.nk-simple-image {\n  width: 100%;\n  background-color: var(--color-norki-beige, #f4eee9);\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; \/* Centrage \u00e9quilibr\u00e9 par d\u00e9faut sur PC *\/\n  transition: transform 0.6s 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.8rem; \n  font-style: italic;\n  margin-top: 15px;\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, 40px); \/* Alignement sur la grille \u00e0 droite *\/\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: 3px;\n  text-decoration-thickness: 1px;\n  transition: text-decoration-color 0.3s ease, opacity 0.3s ease;\n}\n\n.nk-editorial-inline-link:hover {\n  text-decoration-color: transparent;\n  opacity: 0.7;\n}\n\n\/* ============================================\n  RESPONSIVE MOBILE ET TABLETTE\n============================================ *\/\n@media (max-width: 1024px) {\n  .nk-simple-image__caption {\n    padding-right: var(--section-pad-h-tab, 30px);\n  }\n}\n\n@media (max-width: 640px) {\n  .nk-simple-image__wrapper {\n    height: 70vh; \/* Hauteur ajust\u00e9e pour un cadrage vertical sur mobile *\/\n    min-height: 400px;\n  }\n\n  .nk-simple-image__img {\n    object-position: center center; \/* Reste centr\u00e9 pour valoriser au mieux la texture du tapis *\/\n  }\n\n  .nk-simple-image__caption {\n    padding-right: var(--section-pad-h-mob, 20px);\n  }\n}\n<\/style>\n\n\n\n<section class=\"nk-bc-designer\">\n  <div class=\"nk-bc-designer__inner\">\n\n    <!-- Introduction (top left) -->\n    <div class=\"nk-bc-designer__intro\">\n      <h2 class=\"nk-bc-designer__title avenirmedium-font\">\n        The First European Masterpiece\n        <span class=\"nk-bc-designer__accent baskerville-italic-font\">by Billy Cotton<\/span>\n      <\/h2>\n      <p class=\"nk-bc-designer__paragraph\">\n        It is in this exceptional setting, majestically overlooking the famous ski resort, that American interior designer <a href=\"https:\/\/billycotton.com\/\" class=\"nk-bc-designer__link\" title=\"Visit Billy Cotton's website\" target=\"_blank\" rel=\"noopener\">Billy Cotton<\/a> chose to sign his very first decoration project in Europe. This family chalet bears all the hallmarks of <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/humbert-and-poyet-gstaad\/\" class=\"nk-bc-designer__link\" title=\"Discover another exceptional chalet in Gstaad\">Gstaad&rsquo;s traditional architecture<\/a>.\n      <\/p>\n      <p class=\"nk-bc-designer__paragraph\">\n        Entirely clad in wood, the building stands out for its long carved balconies that gracefully wrap around the fa\u00e7ades, offering breathtaking views of the surrounding peaks. The architecture honours the soul of the region while providing the perfect backdrop for a warm and contemporary <a href=\"https:\/\/www.norki.com\/en\/studio-chalet\/interior-design-agency-mountain-projects-3d\/\" class=\"nk-bc-designer__link\" title=\"Discover the Studio Chalet interior design agency\">decorative intervention<\/a>.\n      <\/p>\n    <\/div>\n\n    <!-- Portrait + signature (top right) -->\n    <div class=\"nk-bc-designer__portrait\">\n      <div class=\"nk-bc-designer__img-wrap\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Billy-Cotton.jpg\" alt=\"Portrait of American interior designer Billy Cotton\" class=\"nk-bc-designer__img\" loading=\"lazy\">\n      <\/div>\n      <div class=\"nk-bc-designer__signature-wrapper\">\n        <span class=\"nk-bc-designer__signature bestermind-font\">Billy Cotton<\/span>\n      <\/div>\n    <\/div>\n\n    <!-- Games room (bottom left) -->\n    <figure class=\"nk-bc-designer__figure\">\n      <div class=\"nk-bc-designer__img-wrap\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/salle-de-jeux.jpg\" alt=\"Games room of the Gstaad chalet with vintage Laila armchairs in curly lambskin and a bespoke green banquette by Norki\" class=\"nk-bc-designer__img\" loading=\"lazy\">\n      <\/div>\n      <figcaption class=\"nk-bc-designer__caption\">\n        <a href=\"https:\/\/www.norki.com\/en\/collectionnistes-armchairs-designers-norki\/596-pair-of-armchairs-oak-laila-ilmari-lappalainen-scandinavian-vintage-design.html\" class=\"nk-bc-designer__caption-link\" title=\"Discover the vintage Laila armchairs\">Laila Armchairs<\/a> \u2013 Norki Curation \u2013 <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-soft-furnishings-curtains\/\" class=\"nk-bc-designer__caption-link\" title=\"Discover Norki bespoke soft furnishings\">Bespoke sofa and curtains<\/a>\n      <\/figcaption>\n    <\/figure>\n\n    <!-- Norki expertise (bottom right) -->\n    <div class=\"nk-bc-designer__expertise\">\n      <h2 class=\"nk-bc-designer__title avenirmedium-font\">Expertise and Bespoke<br>Craftsmanship by Norki<\/h2>\n      <p class=\"nk-bc-designer__paragraph\">\n        To furnish the interiors of this extraordinary residence, Billy Cotton called upon the expertise of <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/\" class=\"nk-bc-designer__link\" title=\"Discover Ateliers Norki\">Norki<\/a>, first drawing on our <a href=\"https:\/\/www.norki.com\/en\/10-vintage-collection-norki-furniture-curation-scandinavian-design-norki\" class=\"nk-bc-designer__link\" title=\"Discover the Norki vintage furniture collection\">vintage furniture collection<\/a>. The interior designer selected pieces of character, such as a magnificent <a href=\"https:\/\/www.norki.com\/en\/collectionnistes-armchairs-designers-norki\/596-pair-of-armchairs-oak-laila-ilmari-lappalainen-scandinavian-vintage-design.html\" class=\"nk-bc-designer__link\" title=\"Discover the pair of Laila armchairs\">pair of Laila armchairs<\/a> (designed by Ilmari Lappalainen for Asko), sourced, meticulously restored by our teams and reupholstered in a sumptuous <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/sewing-fur-epv\/\" class=\"nk-bc-designer__link\" title=\"Discover our fur couture expertise\">curly lambskin<\/a>.\n      <\/p>\n      <div class=\"nk-bc-designer__action\">\n        <a href=\"https:\/\/www.norki.com\/en\/10-vintage-collection-norki-furniture-curation-scandinavian-design-norki\" class=\"nk-bc-designer__btn\">View the vintage collection<\/a>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<style>\n\/* ==========================================================================\n   COMPOSANT : BILLY COTTON + EXPERTISE NORKI (grille 2 x 2)\n   ========================================================================== *\/\n.nk-bc-designer {\n  width: 100%;\n  background-color: var(--color-norki-beige, #f4eee9);\n  padding: var(--section-pad-v-dt, 80px) var(--section-pad-h-dt, 40px);\n  box-sizing: border-box;\n}\n.nk-bc-designer * { box-sizing: border-box; }\n\n.nk-bc-designer__inner {\n  width: 100%;\n  display: grid;\n  grid-template-columns: 1.35fr 1fr;\n  column-gap: clamp(30px, 3vw, 60px);\n  row-gap: clamp(30px, 3vw, 50px);\n  align-items: start;\n}\n\n.nk-bc-designer__intro { grid-column: 1; grid-row: 1; max-width: 540px; padding-top: 10px; }\n.nk-bc-designer__portrait { grid-column: 2; grid-row: 1; }\n.nk-bc-designer__figure { grid-column: 1; grid-row: 2; margin: 0; }\n.nk-bc-designer__expertise { grid-column: 2; grid-row: 2; align-self: end; max-width: 520px; padding-bottom: 30px; }\n\n.nk-bc-designer__title {\n  font-size: clamp(1.4rem, 2.5vw, 35px);\n  line-height: 1.2;\n  color: #000000;\n  font-weight: 500;\n  margin: 0 0 20px 0 !important;\n  letter-spacing: -0.01em;\n}\n.nk-bc-designer__accent { display: block; }\n\n.nk-bc-designer__paragraph {\n  font-size: 0.95rem;\n  line-height: 1.6;\n  color: #000000;\n  margin: 0 0 15px 0 !important;\n}\n.nk-bc-designer__paragraph:last-of-type { margin-bottom: 0 !important; }\n\n.nk-bc-designer__link,\n.nk-bc-designer__caption-link {\n  color: inherit;\n  text-decoration: underline;\n  text-decoration-color: currentColor;\n  text-underline-offset: 3px;\n  text-decoration-thickness: 1px;\n  transition: text-decoration-color 0.3s ease, opacity 0.3s ease;\n}\n.nk-bc-designer__link { font-weight: 500; }\n.nk-bc-designer__link:hover,\n.nk-bc-designer__caption-link:hover { text-decoration-color: transparent; opacity: 0.7; }\n\n\/* Images avec HoverZoom (DA) *\/\n.nk-bc-designer__img-wrap { width: 100%; overflow: hidden; }\n.nk-bc-designer__img {\n  width: 100%;\n  height: auto;\n  display: block;\n  object-fit: cover;\n  transform: scale(1);\n  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n}\n.nk-bc-designer__img-wrap:hover .nk-bc-designer__img { transform: scale(1.03); }\n\n.nk-bc-designer__signature-wrapper { margin-top: 25px; text-align: center; }\n.nk-bc-designer__signature { font-size: clamp(2rem, 3.5vw, 42px); color: #000000; line-height: 1; }\n\n.nk-bc-designer__caption {\n  font-size: 0.8rem;\n  line-height: 1.4;\n  color: #000000;\n  text-align: center;\n  margin-top: 12px;\n}\n\n\/* Bouton (DA) *\/\n.nk-bc-designer__action { margin-top: 24px; }\n.nk-bc-designer__btn {\n  display: inline-block;\n  background-color: #000000;\n  color: #ffffff;\n  padding: 4px 27px;\n  font-size: 0.9rem;\n  font-weight: 500;\n  text-decoration: none;\n  border: 1px solid #000000;\n  transition: background-color 0.3s ease, color 0.3s ease;\n  text-align: center;\n}\n.nk-bc-designer__btn:hover { background-color: transparent; color: #000000; }\n\n\/* RESPONSIVE TABLETTE (\u2264 1024px) *\/\n@media (max-width: 1024px) {\n  .nk-bc-designer { padding: var(--section-pad-v-tab, 60px) var(--section-pad-h-tab, 30px); }\n  .nk-bc-designer__inner { grid-template-columns: 1fr 1fr; column-gap: 30px; }\n  .nk-bc-designer__expertise { padding-bottom: 0; }\n}\n\n\/* RESPONSIVE MOBILE (\u2264 768px) *\/\n@media (max-width: 768px) {\n  .nk-bc-designer { padding: var(--section-pad-v-mob, 50px) var(--section-pad-h-mob, 20px); }\n  .nk-bc-designer__inner { grid-template-columns: 1fr; row-gap: 40px; }\n  .nk-bc-designer__intro,\n  .nk-bc-designer__portrait,\n  .nk-bc-designer__figure,\n  .nk-bc-designer__expertise { grid-column: 1; grid-row: auto; max-width: 100%; padding: 0; }\n  .nk-bc-designer__portrait { width: 85%; margin: 0 auto; }\n}\n<\/style>\n\n\n\n<section class=\"nk-bc-ateliers\">\n\n  <!-- Two text columns -->\n  <div class=\"nk-bc-ateliers__texts\">\n    <div class=\"nk-bc-ateliers__col\">\n      <p class=\"nk-bc-ateliers__paragraph\">\n        The heart of this project also lies in the exceptional <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/high-end-interior-design\/\" class=\"nk-bc-ateliers__link\" title=\"Discover Norki bespoke interior design\">bespoke<\/a> work carried out by our workshops.\n      <\/p>\n      <p class=\"nk-bc-ateliers__paragraph\">\n        In the family TV room, our team of <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/\" class=\"nk-bc-ateliers__link\" title=\"Discover our upholstery workshop\">upholsterers<\/a> meticulously <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/\" class=\"nk-bc-ateliers__link\" title=\"Discover our bespoke wall upholstery\">upholstered the walls and ceiling<\/a> in a luxurious fabric, in perfect harmony with the <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-soft-furnishings-curtains\/\" class=\"nk-bc-ateliers__link\" title=\"Discover our bespoke curtains\">curtains<\/a> and <a href=\"https:\/\/www.norki.com\/en\/23-sofas-soft-textures-collection-norki\" class=\"nk-bc-ateliers__link\" title=\"Discover Norki sofas\">sofas<\/a> also made by Norki.\n      <\/p>\n    <\/div>\n    <div class=\"nk-bc-ateliers__col\">\n      <p class=\"nk-bc-ateliers__paragraph\">\n        The breakfast room, designed in a spirit worthy of an Austrian castle, required equally rigorous work from our workshop to create the sofas and <a href=\"https:\/\/www.norki.com\/en\/30-designer-cushions-collection-luxury-norki\" class=\"nk-bc-ateliers__link\" title=\"Discover our bespoke cushions\">chair cushions<\/a>.\n      <\/p>\n      <div class=\"nk-bc-ateliers__action\">\n        <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/\" class=\"nk-bc-ateliers__btn\">Our upholstery workshop<\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- Full-width 3-image gallery -->\n  <div class=\"nk-bc-ateliers__gallery\">\n    <figure class=\"nk-bc-ateliers__figure\">\n      <div class=\"nk-bc-ateliers__img-wrap\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/salle-tv-familial.jpg\" alt=\"Family TV room with walls upholstered in plum fabric and a bespoke sofa by Ateliers Norki\" class=\"nk-bc-ateliers__img\" loading=\"lazy\">\n      <\/div>\n      <figcaption class=\"nk-bc-ateliers__caption\">Family TV room \u2013 <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/\" class=\"nk-bc-ateliers__caption-link\" title=\"Discover Norki bespoke upholstery\">Wall upholstery and bespoke furniture<\/a><\/figcaption>\n    <\/figure>\n    <figure class=\"nk-bc-ateliers__figure\">\n      <div class=\"nk-bc-ateliers__img-wrap\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Salle-de-petit-dejeuner-1.jpg\" alt=\"Breakfast room with painted ceiling, bespoke banquette and chair cushions by Norki\" class=\"nk-bc-ateliers__img\" loading=\"lazy\">\n      <\/div>\n      <figcaption class=\"nk-bc-ateliers__caption\">Breakfast room \u2013 <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/\" class=\"nk-bc-ateliers__caption-link\" title=\"Discover Norki bespoke upholstery\">bespoke sofas and chair cushions<\/a><\/figcaption>\n    <\/figure>\n    <figure class=\"nk-bc-ateliers__figure\">\n      <div class=\"nk-bc-ateliers__img-wrap\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Divers.jpg\" alt=\"Wood-panelled powder room adorned with painted mushrooms in the Billy Cotton chalet in Gstaad\" class=\"nk-bc-ateliers__img\" loading=\"lazy\">\n      <\/div>\n    <\/figure>\n  <\/div>\n\n<\/section>\n\n<style>\n\/* ==========================================================================\n   COMPOSANT : ATELIERS (2 colonnes de texte + galerie 3 images)\n   ========================================================================== *\/\n.nk-bc-ateliers {\n  width: 100%;\n  background-color: var(--color-norki-beige, #f4eee9);\n  padding: 0 0 var(--section-pad-v-dt, 80px) 0;\n  box-sizing: border-box;\n  overflow: hidden;\n}\n.nk-bc-ateliers * { box-sizing: border-box; }\n\n.nk-bc-ateliers__texts {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 340px));\n  column-gap: clamp(24px, 2.5vw, 45px);\n  padding: 0 var(--section-pad-h-dt, 40px);\n  margin-bottom: clamp(30px, 3vw, 50px);\n  align-items: start;\n}\n\n.nk-bc-ateliers__paragraph {\n  font-size: 0.95rem;\n  line-height: 1.6;\n  color: #000000;\n  margin: 0 0 15px 0 !important;\n}\n\n.nk-bc-ateliers__link,\n.nk-bc-ateliers__caption-link {\n  color: inherit;\n  text-decoration: underline;\n  text-decoration-color: currentColor;\n  text-underline-offset: 3px;\n  text-decoration-thickness: 1px;\n  transition: text-decoration-color 0.3s ease, opacity 0.3s ease;\n}\n.nk-bc-ateliers__link { font-weight: 500; }\n.nk-bc-ateliers__link:hover,\n.nk-bc-ateliers__caption-link:hover { text-decoration-color: transparent; opacity: 0.7; }\n\n.nk-bc-ateliers__action { margin-top: 10px; }\n.nk-bc-ateliers__btn {\n  display: inline-block;\n  background-color: #000000;\n  color: #ffffff;\n  padding: 4px 27px;\n  font-size: 0.9rem;\n  font-weight: 500;\n  text-decoration: none;\n  border: 1px solid #000000;\n  transition: background-color 0.3s ease, color 0.3s ease;\n  text-align: center;\n}\n.nk-bc-ateliers__btn:hover { background-color: transparent; color: #000000; }\n\n\/* Galerie pleine largeur *\/\n.nk-bc-ateliers__gallery {\n  display: grid;\n  grid-template-columns: 1fr 1.17fr 1fr;\n  gap: 6px;\n}\n.nk-bc-ateliers__figure { margin: 0; }\n.nk-bc-ateliers__img-wrap { width: 100%; height: 54vw; max-height: 115vh; overflow: hidden; }\n.nk-bc-ateliers__img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  display: block;\n  transform: scale(1);\n  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n}\n.nk-bc-ateliers__img-wrap:hover .nk-bc-ateliers__img { transform: scale(1.03); }\n\n.nk-bc-ateliers__caption {\n  font-size: 0.8rem;\n  line-height: 1.4;\n  color: #000000;\n  text-align: right;\n  margin-top: 12px;\n  padding-right: var(--section-pad-h-dt, 40px);\n}\n\n\/* RESPONSIVE TABLETTE (\u2264 1024px) *\/\n@media (max-width: 1024px) {\n  .nk-bc-ateliers { padding-bottom: var(--section-pad-v-tab, 60px); }\n  .nk-bc-ateliers__texts { padding: 0 var(--section-pad-h-tab, 30px); grid-template-columns: 1fr 1fr; }\n  .nk-bc-ateliers__img-wrap { height: 62vw; }\n  .nk-bc-ateliers__caption { padding-right: var(--section-pad-h-tab, 30px); }\n}\n\n\/* RESPONSIVE MOBILE (\u2264 768px) *\/\n@media (max-width: 768px) {\n  .nk-bc-ateliers { padding-bottom: var(--section-pad-v-mob, 50px); }\n  .nk-bc-ateliers__texts { padding: 0 var(--section-pad-h-mob, 20px); grid-template-columns: 1fr; row-gap: 10px; }\n  .nk-bc-ateliers__gallery { grid-template-columns: 1fr; gap: 25px; }\n  .nk-bc-ateliers__img-wrap { height: 125vw; max-height: none; }\n  .nk-bc-ateliers__caption { padding-right: var(--section-pad-h-mob, 20px); }\n}\n<\/style>\n\n\n\n<section class=\"nk-bc-couture\">\n\n  <!-- Text aligned with the second image -->\n  <div class=\"nk-bc-couture__text\">\n    <p class=\"nk-bc-couture__paragraph\">\n      Our <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-soft-furnishings-curtains\/\" class=\"nk-bc-couture__link\" title=\"Discover our soft furnishings workshop\">soft furnishings seamstresses<\/a> also crafted all of the <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/\" class=\"nk-bc-couture__link\" title=\"Discover our bespoke curtains, blinds and sheers\">chalet&rsquo;s curtains<\/a>. The sheer curtains, designed by Billy Cotton, are distinguished by a delicate gathered braid, entirely handmade by our <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/living-heritage-company-label-epv\/\" class=\"nk-bc-couture__link\" title=\"Discover the Living Heritage Company label\">specialist craftswomen<\/a>.\n    <\/p>\n    <div class=\"nk-bc-couture__action\">\n      <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-soft-furnishings-curtains\/\" class=\"nk-bc-couture__btn\">Our soft furnishings workshop<\/a>\n    <\/div>\n  <\/div>\n\n  <!-- Top row: 2 images offset to the right -->\n  <div class=\"nk-bc-couture__row nk-bc-couture__row--top\">\n    <figure class=\"nk-bc-couture__figure\">\n      <div class=\"nk-bc-couture__img-wrap\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Salle-de-petit-dejeuner-8.jpg\" alt=\"Light-filled breakfast room with bespoke sheer curtains featuring a gathered braid\" class=\"nk-bc-couture__img\" loading=\"lazy\">\n      <\/div>\n    <\/figure>\n    <figure class=\"nk-bc-couture__figure\">\n      <div class=\"nk-bc-couture__img-wrap\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Entree.jpg\" alt=\"Chalet entrance with a white sofa and bespoke sheer curtains crafted by Norki's seamstresses\" class=\"nk-bc-couture__img\" loading=\"lazy\">\n      <\/div>\n      <figcaption class=\"nk-bc-couture__caption nk-bc-couture__caption--right\"><a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-soft-furnishings-curtains\/\" class=\"nk-bc-couture__caption-link\" title=\"Discover our bespoke sheer curtains\">Bespoke sheer curtains<\/a><\/figcaption>\n    <\/figure>\n  <\/div>\n\n  <!-- Bottom row: 2 images on the left -->\n  <div class=\"nk-bc-couture__row nk-bc-couture__row--bottom\">\n    <figure class=\"nk-bc-couture__figure\">\n      <div class=\"nk-bc-couture__img-wrap\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Chambre-master.jpg\" alt=\"Master bedroom with bespoke fir-green curtains made by Norki\" class=\"nk-bc-couture__img\" loading=\"lazy\">\n      <\/div>\n    <\/figure>\n    <figure class=\"nk-bc-couture__figure\">\n      <div class=\"nk-bc-couture__img-wrap\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Dortoir.jpg\" alt=\"Children's dormitory with bespoke curtains and bedding in floral fabric\" class=\"nk-bc-couture__img\" loading=\"lazy\">\n      <\/div>\n    <\/figure>\n    <p class=\"nk-bc-couture__caption nk-bc-couture__caption--full\">Master bedroom &amp; Dormitory \u2013 <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-soft-furnishings-curtains\/\" class=\"nk-bc-couture__caption-link\" title=\"Discover our bespoke curtains\">Bespoke curtains<\/a><\/p>\n  <\/div>\n\n<\/section>\n\n<style>\n\/* ==========================================================================\n   COMPOSANT : COUTURE D'AMEUBLEMENT (texte + 2 rang\u00e9es d'images d\u00e9cal\u00e9es)\n   ========================================================================== *\/\n.nk-bc-couture {\n  width: 100%;\n  background-color: var(--color-norki-beige, #f4eee9);\n  padding: 0 0 var(--section-pad-v-dt, 80px) 0;\n  box-sizing: border-box;\n  overflow: hidden;\n}\n.nk-bc-couture * { box-sizing: border-box; }\n\n.nk-bc-couture__text {\n  margin-left: 68%;\n  width: 24%;\n  min-width: 340px;\n  max-width: 440px;\n  margin-bottom: clamp(20px, 2.5vw, 35px);\n}\n\n.nk-bc-couture__paragraph {\n  font-size: 0.95rem;\n  line-height: 1.6;\n  color: #000000;\n  margin: 0 0 15px 0 !important;\n}\n\n.nk-bc-couture__link,\n.nk-bc-couture__caption-link {\n  color: inherit;\n  text-decoration: underline;\n  text-decoration-color: currentColor;\n  text-underline-offset: 3px;\n  text-decoration-thickness: 1px;\n  transition: text-decoration-color 0.3s ease, opacity 0.3s ease;\n}\n.nk-bc-couture__link { font-weight: 500; }\n.nk-bc-couture__link:hover,\n.nk-bc-couture__caption-link:hover { text-decoration-color: transparent; opacity: 0.7; }\n\n.nk-bc-couture__btn {\n  display: inline-block;\n  background-color: #000000;\n  color: #ffffff;\n  padding: 4px 27px;\n  font-size: 0.9rem;\n  font-weight: 500;\n  text-decoration: none;\n  border: 1px solid #000000;\n  transition: background-color 0.3s ease, color 0.3s ease;\n  text-align: center;\n}\n.nk-bc-couture__btn:hover { background-color: transparent; color: #000000; }\n\n\/* Rang\u00e9es d'images *\/\n.nk-bc-couture__row { display: grid; }\n.nk-bc-couture__row--top {\n  grid-template-columns: 1.16fr 1fr;\n  gap: 8px;\n  margin-left: 30.7%;\n}\n.nk-bc-couture__row--bottom {\n  grid-template-columns: 1fr 1fr;\n  gap: 6px;\n  width: 64%;\n  margin-left: var(--section-pad-h-dt, 40px);\n  margin-top: clamp(20px, 2vw, 30px);\n}\n.nk-bc-couture__figure { margin: 0; }\n.nk-bc-couture__img-wrap { width: 100%; overflow: hidden; }\n.nk-bc-couture__row--top .nk-bc-couture__img-wrap { height: 55vw; max-height: 120vh; }\n.nk-bc-couture__row--bottom .nk-bc-couture__img-wrap { height: 45vw; max-height: 100vh; }\n\n.nk-bc-couture__img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  display: block;\n  transform: scale(1);\n  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n}\n.nk-bc-couture__img-wrap:hover .nk-bc-couture__img { transform: scale(1.03); }\n\n.nk-bc-couture__caption {\n  font-size: 0.8rem;\n  line-height: 1.4;\n  color: #000000;\n  margin: 12px 0 0 0 !important;\n}\n.nk-bc-couture__caption--right { text-align: right; padding-right: var(--section-pad-h-dt, 40px); }\n.nk-bc-couture__caption--full { grid-column: 1 \/ -1; text-align: right; padding-right: var(--section-pad-h-dt, 40px); }\n\n\/* Bouton sur une seule ligne sur PC *\/\n@media (min-width: 1025px) {\n  .nk-bc-couture__btn { white-space: nowrap; }\n}\n\n\/* RESPONSIVE TABLETTE (\u2264 1024px) *\/\n@media (max-width: 1024px) {\n  .nk-bc-couture { padding-bottom: var(--section-pad-v-tab, 60px); }\n  .nk-bc-couture__text { margin-left: 50%; width: 45%; min-width: 0; }\n  .nk-bc-couture__row--top { margin-left: 15%; }\n  .nk-bc-couture__row--bottom { width: 80%; margin-left: var(--section-pad-h-tab, 30px); }\n  .nk-bc-couture__caption--right,\n  .nk-bc-couture__caption--full { padding-right: var(--section-pad-h-tab, 30px); }\n}\n\n\/* RESPONSIVE MOBILE (\u2264 768px) *\/\n@media (max-width: 768px) {\n  .nk-bc-couture { padding-bottom: var(--section-pad-v-mob, 50px); }\n  .nk-bc-couture__text { margin: 0 0 25px 0; width: auto; max-width: none; padding: 0 var(--section-pad-h-mob, 20px); }\n  .nk-bc-couture__row--top,\n  .nk-bc-couture__row--bottom { margin-left: 0; width: 100%; gap: 6px; }\n  .nk-bc-couture__row--top .nk-bc-couture__img-wrap { height: 85vw; max-height: none; }\n  .nk-bc-couture__row--bottom .nk-bc-couture__img-wrap { height: 75vw; max-height: none; }\n  .nk-bc-couture__caption--right { padding-right: var(--section-pad-h-mob, 20px); }\n  .nk-bc-couture__caption--full { padding: 0 var(--section-pad-h-mob, 20px); }\n}\n<\/style>\n\n\n\n<section class=\"nk-bc-finale\">\n  <div class=\"nk-bc-finale__inner\">\n\n    <figure class=\"nk-bc-finale__figure\">\n      <div class=\"nk-bc-finale__img-wrap\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Salle-de-petit-dejeuner-13.jpg\" alt=\"Child's bedroom with a bespoke pine bed designed by Billy Cotton and made by Norki\" class=\"nk-bc-finale__img\" loading=\"lazy\">\n      <\/div>\n      <figcaption class=\"nk-bc-finale__caption\"><a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-interior-design-studio-furniture-rugs\/\" class=\"nk-bc-finale__caption-link\" title=\"Discover our design office and bespoke furniture\">Bespoke pine bed<\/a><\/figcaption>\n    <\/figure>\n\n    <div class=\"nk-bc-finale__aside\">\n      <!-- Studio Chalet call to action -->\n      <div class=\"nk-bc-finale__cta\">\n        <p class=\"nk-bc-finale__cta-title baskerville-italic-font\">Have an idea for a<br>decoration project?<\/p>\n        <a href=\"https:\/\/www.norki.com\/en\/studio-chalet\/contact-us\/\" class=\"nk-bc-finale__btn\">Contact Studio Chalet<\/a>\n      <\/div>\n\n      <!-- Conclusion + press article -->\n      <div class=\"nk-bc-finale__content\">\n        <p class=\"nk-bc-finale__paragraph\">\n          <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/hotel-projects\/grau-roig-andorre\/\" class=\"nk-bc-finale__link\" title=\"Discover our bespoke headboards for the Grau Roig hotel\">Headboards<\/a>, sofas, bed skirts: this haute couture work was orchestrated over several months in our <a href=\"https:\/\/www.norki.com\/en\/content\/7-a-family-story-craftmanship-norki\" class=\"nk-bc-finale__link\" title=\"Discover the history of Maison Norki\">Strasbourg workshops<\/a>. Finally, Norki brought to life several pieces of <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-interior-design-studio-furniture-rugs\/\" class=\"nk-bc-finale__link\" title=\"Discover our design office\">bespoke furniture<\/a>, including the children&rsquo;s pine beds designed by the architect.\n        <\/p>\n        <p class=\"nk-bc-finale__paragraph\">\n          A project we are particularly proud of, offering a new vision of <a href=\"https:\/\/www.norki.com\/en\/studio-chalet\/\" class=\"nk-bc-finale__link\" title=\"Discover Studio Chalet\">chalet decoration<\/a> with a strong signature that embraces an unapologetic poetry.\n        <\/p>\n        <div class=\"nk-bc-finale__action\">\n          <a href=\"https:\/\/www.nytimes.com\/2026\/09\/21\/t-magazine\/swiss-alps-chalet-billy-cotton.html\" class=\"nk-bc-finale__btn\" target=\"_blank\" rel=\"noopener\">Read the full article in The New York Times<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<style>\n\/* ==========================================================================\n   COMPOSANT : FINALE (image centrale + colonne CTA \/ conclusion)\n   ========================================================================== *\/\n.nk-bc-finale {\n  width: 100%;\n  background-color: var(--color-norki-beige, #f4eee9);\n  padding: 0 var(--section-pad-h-dt, 40px) var(--section-pad-v-dt, 80px);\n  box-sizing: border-box;\n}\n.nk-bc-finale * { box-sizing: border-box; }\n\n.nk-bc-finale__inner {\n  display: grid;\n  grid-template-columns: 0.85fr 1.05fr 0.85fr;\n  column-gap: clamp(24px, 3vw, 40px);\n  align-items: stretch;\n}\n\n.nk-bc-finale__figure { grid-column: 2; margin: 0; }\n.nk-bc-finale__img-wrap { width: 100%; overflow: hidden; }\n.nk-bc-finale__img {\n  width: 100%;\n  height: auto;\n  display: block;\n  transform: scale(1);\n  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n}\n.nk-bc-finale__img-wrap:hover .nk-bc-finale__img { transform: scale(1.03); }\n\n.nk-bc-finale__caption {\n  font-size: 0.8rem;\n  line-height: 1.4;\n  color: #000000;\n  margin-top: 12px;\n  padding-left: 15px;\n}\n\n.nk-bc-finale__aside {\n  grid-column: 3;\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n  gap: 40px;\n  padding-bottom: calc(0.8rem * 1.4 + 12px); \/* Aligne le bas du texte sur le bas de l'image *\/\n  max-width: 400px;\n}\n\n.nk-bc-finale__cta-title {\n  font-size: clamp(1.2rem, 1.6vw, 26px);\n  line-height: 1.2;\n  color: #000000;\n  margin: 0 0 16px 0 !important;\n}\n\n.nk-bc-finale__paragraph {\n  font-size: 0.95rem;\n  line-height: 1.6;\n  color: #000000;\n  margin: 0 0 15px 0 !important;\n}\n\n.nk-bc-finale__link,\n.nk-bc-finale__caption-link {\n  color: inherit;\n  text-decoration: underline;\n  text-decoration-color: currentColor;\n  text-underline-offset: 3px;\n  text-decoration-thickness: 1px;\n  transition: text-decoration-color 0.3s ease, opacity 0.3s ease;\n}\n.nk-bc-finale__link { font-weight: 500; }\n.nk-bc-finale__link:hover,\n.nk-bc-finale__caption-link:hover { text-decoration-color: transparent; opacity: 0.7; }\n\n.nk-bc-finale__action { margin-top: 24px; }\n.nk-bc-finale__btn {\n  display: inline-block;\n  background-color: #000000;\n  color: #ffffff;\n  padding: 4px 27px;\n  font-size: 0.9rem;\n  font-weight: 500;\n  text-decoration: none;\n  border: 1px solid #000000;\n  transition: background-color 0.3s ease, color 0.3s ease;\n  text-align: center;\n}\n.nk-bc-finale__btn:hover { background-color: transparent; color: #000000; }\n\n\/* Boutons sur une seule ligne sur PC *\/\n@media (min-width: 1025px) {\n  .nk-bc-finale__btn { white-space: nowrap; }\n}\n\n\/* RESPONSIVE TABLETTE (\u2264 1024px) *\/\n@media (max-width: 1024px) {\n  .nk-bc-finale { padding: 0 var(--section-pad-h-tab, 30px) var(--section-pad-v-tab, 60px); }\n  .nk-bc-finale__inner { grid-template-columns: 1fr 1fr; }\n  .nk-bc-finale__figure { grid-column: 1; }\n  .nk-bc-finale__aside { grid-column: 2; }\n}\n\n\/* RESPONSIVE MOBILE (\u2264 768px) *\/\n@media (max-width: 768px) {\n  .nk-bc-finale { padding: 0 var(--section-pad-h-mob, 20px) var(--section-pad-v-mob, 50px); }\n  .nk-bc-finale__inner { grid-template-columns: 1fr; row-gap: 35px; }\n  .nk-bc-finale__figure,\n  .nk-bc-finale__aside { grid-column: 1; max-width: 100%; padding-bottom: 0; }\n}\n<\/style>\n\n\n\n<section class=\"nk-map\">\n  <div class=\"nk-map__inner\">\n\n    <!-- World map (hidden on mobile) -->\n    <div class=\"nk-map__world\">\n      <a href=\"https:\/\/www.gstaad.ch\/en\/\" class=\"nk-map__world-link\" target=\"_blank\" rel=\"noopener\" aria-label=\"See Gstaad location on the world map\">\n        <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/Carte-du-monde-Gstaad.png\" alt=\"World map locating Gstaad, Switzerland\" class=\"nk-map__world-img\" loading=\"lazy\">\n      <\/a>\n    <\/div>\n\n    <!-- Detailed zoom (circle) -->\n    <div class=\"nk-map__detail\">\n      <span class=\"nk-map__title avenirmedium-font\">\n        Chalet project in <span class=\"baskerville-italic-font\">Gstaad<\/span>\n      <\/span>\n      <div class=\"nk-map__circle\">\n        <a href=\"https:\/\/www.gstaad.ch\/en\/\" class=\"nk-map__circle-link\" target=\"_blank\" rel=\"noopener\" aria-label=\"Zoom on the exceptional chalet project in Gstaad\">\n          <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/07\/Carte-europe-Gstaad.png\" alt=\"Zoom on the map of Europe locating Gstaad\" 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\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, #f4eee9); \/* Alignement sur le beige du projet Haussmannien *\/\n    color: #000000;\n    box-sizing: border-box;\n    width: 100%;\n}\n\n.nk-map * {\n    box-sizing: border-box;\n}\n\n.nk-map__inner {\n    margin: 0 auto;\n    display: grid;\n    grid-template-columns: 2fr 1fr; \/* Ratio PC : la carte du monde prend plus de place *\/\n    gap: clamp(20px, 4vw, 60px);\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 cubic-bezier(0.16, 1, 0.3, 1), 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.015);\n    opacity: 0.95;\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.3rem, 2.2vw, 25px);\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    border: 1px solid rgba(0, 0, 0, 0.15); \/* Fine bordure subtile pour un rendu luxueux *\/\n    background-color: var(--color-norki-beige, #f4eee9);\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    object-position: center center; \/* Centr\u00e9 pour Paris\/France *\/\n    \/* Transition d'animation HoverZoom issue de la DA *\/\n    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\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.04); \/* 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, 30px);\n        padding-right: var(--section-pad-h-tab, 30px);\n    }\n    \n    .nk-map__inner {\n        gap: 20px; \/* \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.35rem;\n        margin-bottom: 20px;\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    <!-- Header: Title & Navigation -->\n    <div class=\"nk-sfa__header\">\n      <h2 class=\"nk-sfa__title avenirmedium-font\">\n        Our <span class=\"baskerville-italic-font\">Associated Expertise<\/span>\n      <\/h2>\n\n      <div class=\"nk-sfa__nav-bar\">\n        <div class=\"nk-sfa__arrows\">\n          <button class=\"nk-sfa__prev\" aria-label=\"Previous slide\">\n            <svg viewBox=\"0 0 24 24\"><path d=\"M15 18l-6-6 6-6\"><\/path><\/svg>\n          <\/button>\n          <button class=\"nk-sfa__next\" aria-label=\"Next slide\">\n            <svg viewBox=\"0 0 24 24\"><path d=\"M9 18l6-6-6-6\"><\/path><\/svg>\n          <\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Slider Area -->\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: Fur Couture -->\n          <article class=\"nk-sfa__slide\">\n            <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/sewing-fur-epv\/\" class=\"nk-sfa__image-link\" aria-label=\"Discover our expertise in Fur Couture\">\n              <img decoding=\"async\" data-src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/savoir-faire-couture-fourrure-norki-2-e1779974256415.jpg\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1 1'%3E%3C\/svg%3E\" alt=\"Fur Couture detail\" class=\"norki-lazy\">\n            <\/a>\n            <div class=\"nk-sfa__caption\">\n              <p class=\"nk-sfa__caption-title baskerville-italic-font\">Fur Couture<\/p>\n              <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/sewing-fur-epv\/\" class=\"nk-sfa__link\">Discover<\/a>\n            <\/div>\n          <\/article>\n\n          <!-- Slide 2: Bespoke Upholstery -->\n          <article class=\"nk-sfa__slide\">\n            <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/\" class=\"nk-sfa__image-link\" aria-label=\"Discover our expertise in Bespoke Upholstery\">\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=\"Bespoke Upholstery detail\" class=\"norki-lazy\">\n            <\/a>\n            <div class=\"nk-sfa__caption\">\n              <p class=\"nk-sfa__caption-title baskerville-italic-font\">Bespoke Upholstery<\/p>\n              <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-upholstery-services\/\" class=\"nk-sfa__link\">Discover<\/a>\n            <\/div>\n          <\/article>\n\n          <!-- Slide 3: Bespoke Soft Furnishings -->\n          <article class=\"nk-sfa__slide\">\n            <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-soft-furnishings-curtains\/\" class=\"nk-sfa__image-link\" aria-label=\"Discover our expertise in Bespoke Soft Furnishings\">\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=\"Bespoke Soft Furnishings detail\" class=\"norki-lazy\">\n            <\/a>\n            <div class=\"nk-sfa__caption\">\n              <p class=\"nk-sfa__caption-title baskerville-italic-font\">Bespoke Soft Furnishings<\/p>\n              <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/bespoke-soft-furnishings-curtains\/\" class=\"nk-sfa__link\">Discover<\/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 pour laisser l'espace vide\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            \/\/ S\u00e9curit\u00e9 : on r\u00e9initialise l'index au changement de format pour \u00e9viter les d\u00e9calages\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<section class=\"nk-sel\">\n  <div class=\"nk-sel__container\">\n\n    <!-- Header: Title (left) + Arrows (right) -->\n    <div class=\"nk-sel__header\">\n      <h2 class=\"nk-sel__title avenirmedium-font\">\n        Our Selection of <span class=\"baskerville-italic-font\">Objects<\/span>\n      <\/h2>\n\n      <div class=\"nk-sel__nav-bar\">\n        <div class=\"nk-sel__arrows\">\n          <button class=\"nk-sel__prev\" aria-label=\"Previous slide\">\n            <svg viewBox=\"0 0 24 24\"><path d=\"M15 18l-6-6 6-6\"><\/path><\/svg>\n          <\/button>\n          <button class=\"nk-sel__next\" aria-label=\"Next slide\">\n            <svg viewBox=\"0 0 24 24\"><path d=\"M9 18l6-6-6-6\"><\/path><\/svg>\n          <\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Carousel -->\n    <div class=\"nk-sel__slider-area\" id=\"sel-slider\">\n      <div class=\"nk-sel__carousel-viewport\">\n        <div class=\"nk-sel__carousel-track\">\n\n          <!-- Slide 1: Laila Armchairs -->\n          <article class=\"nk-sel__slide\">\n            <a href=\"https:\/\/www.norki.com\/en\/collectionnistes-armchairs-designers-norki\/596-pair-of-armchairs-oak-laila-ilmari-lappalainen-scandinavian-vintage-design.html\" class=\"nk-sel__image-link\" aria-label=\"Discover the Laila Armchairs\">\n              <img decoding=\"async\" data-src=\"https:\/\/www.norki.com\/4573-large_default\/paire-de-fauetuils-avoine-laila-illmari-lappalainen-design-vintage-scandinave.jpg\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1 1'%3E%3C\/svg%3E\" alt=\"Pair of vintage Laila armchairs by Ilmari Lappalainen, Norki curation\" class=\"norki-lazy\">\n            <\/a>\n            <div class=\"nk-sel__caption avenirmedium-font\">\n              <span class=\"nk-sel__product-name\">Laila Armchairs<\/span>\n              <a href=\"https:\/\/www.norki.com\/en\/collectionnistes-armchairs-designers-norki\/596-pair-of-armchairs-oak-laila-ilmari-lappalainen-scandinavian-vintage-design.html\" class=\"nk-sel__link\">Shop<\/a>\n            <\/div>\n          <\/article>\n\n          <!-- Slide 2: Andante Armchair -->\n          <article class=\"nk-sel__slide\">\n            <a href=\"https:\/\/www.norki.com\/en\/luxury-modern-armchairs-collection-norki\/649-white-chair-white-shearling-luxury-dining-room-decoration.html\" class=\"nk-sel__image-link\" aria-label=\"Discover the Andante Armchair\">\n              <img decoding=\"async\" data-src=\"https:\/\/www.norki.com\/4894-large_default\/chaise-blanche-agneau-blanc-luxe-decoration-salle-a-manger.jpg\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1 1'%3E%3C\/svg%3E\" alt=\"Andante armchair in white curly lambskin by Maison Norki\" class=\"norki-lazy\">\n            <\/a>\n            <div class=\"nk-sel__caption avenirmedium-font\">\n              <span class=\"nk-sel__product-name\">Andante Armchair<\/span>\n              <a href=\"https:\/\/www.norki.com\/en\/luxury-modern-armchairs-collection-norki\/649-white-chair-white-shearling-luxury-dining-room-decoration.html\" class=\"nk-sel__link\">Shop<\/a>\n            <\/div>\n          <\/article>\n\n          <!-- Slide 3: In The Fields Cushion -->\n          <article class=\"nk-sel__slide\">\n            <a href=\"https:\/\/www.norki.com\/en\/high-end-designer-cushion\/90-in-the-fields-cushion-large-shearling-fur.html\" class=\"nk-sel__image-link\" aria-label=\"Discover the In The Fields Cushion\">\n              <img decoding=\"async\" data-src=\"https:\/\/www.norki.com\/4981-large_default\/coussin-in-the-fields-grand-modele-agneau-curly-fourrure.jpg\" src=\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1 1'%3E%3C\/svg%3E\" alt=\"In The Fields Cushion by Maison Norki\" class=\"norki-lazy\">\n            <\/a>\n            <div class=\"nk-sel__caption avenirmedium-font\">\n              <span class=\"nk-sel__product-name\">In The Fields Cushion<\/span>\n              <a href=\"https:\/\/www.norki.com\/en\/high-end-designer-cushion\/90-in-the-fields-cushion-large-shearling-fur.html\" class=\"nk-sel__link\">Shop<\/a>\n            <\/div>\n          <\/article>\n\n        <\/div>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<style>\n\/* ============================================\n   COMPOSANT : S\u00c9LECTION D'OBJETS\n============================================ *\/\n.nk-sel {\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, #f4eee9); \/* Alignement colorim\u00e9trique sur le projet Haussmannien *\/\n    color: #000000;\n    box-sizing: border-box;\n    overflow: hidden;\n}\n\n.nk-sel * {\n    box-sizing: border-box;\n}\n\n.nk-sel__container {\n    margin: 0 auto;\n    width: 100%;\n}\n\n\/* --- EN-T\u00caTE --- *\/\n.nk-sel__header {\n    display: flex;\n    justify-content: space-between;\n    align-items: flex-end;\n    margin-bottom: 50px;\n    gap: 15px; \/* \u00c9vite que les fl\u00e8ches ne collent au titre sur petits \u00e9crans *\/\n}\n\n.nk-sel__title {\n    font-size: clamp(1.4rem, 2.5vw, 35px); \/* Calibr\u00e9 sur la taille H2 globale *\/\n    font-weight: normal;\n    margin: 0;\n    letter-spacing: -0.01em;\n    line-height: 1.25;\n}\n\n\/* --- NAVIGATION --- *\/\n.nk-sel__nav-bar {\n    display: flex;\n    align-items: center;\n}\n\n.nk-sel__arrows {\n    display: flex;\n    gap: 15px;\n    margin-right: -12px; \/* Calibr\u00e9 \u00e0 -12px pour un alignement pixel-perfect *\/\n}\n\n.nk-sel__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-sel__arrows button:hover { opacity: 0.6; }\n\n.nk-sel__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-sel__slider-area {\n    position: relative;\n    width: 100%;\n}\n\n.nk-sel__carousel-viewport {\n    overflow: hidden;\n    touch-action: pan-y;\n    margin: 0 -15px; \/* Compense le padding des slides *\/\n}\n\n.nk-sel__carousel-track {\n    display: flex;\n    will-change: transform;\n}\n\n.nk-sel__slide {\n    padding: 0 15px; \/* Espace entre les images *\/\n    display: flex;\n    flex-direction: column;\n}\n\n\/* --- ENCAPSULATION DESIGN SYSTEM DES IMAGES --- *\/\n.nk-sel__image-link {\n    display: block;\n    width: 100%;\n    aspect-ratio: 1 \/ 1; \/* FORMAT CARR\u00c9 IMP\u00c9RATIF *\/\n    overflow: hidden; \/* N\u00e9cessaire pour contenir le zoom *\/\n    border-radius: 4px; \/* Coins arrondis \u00e9l\u00e9gants et l\u00e9gers *\/\n    background-color: #E8E4DF; \/* Fond d'attente coh\u00e9rent avec la DA d'image de la page *\/\n    position: relative;\n}\n\n\/* FORMAT CARR\u00c9 IMP\u00c9RATIF ET ANIMATIONS *\/\n.nk-sel__slide img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    object-position: center;\n    display: block;\n    opacity: 0;\n    \/* Design System: LoadFade & HoverZoom *\/\n    transition: opacity 0.5s ease-in-out, transform 0.6s ease;\n    will-change: opacity, transform;\n}\n\n\/* LoadFade TriggerClass *\/\n.nk-sel__slide img.norki-loaded {\n    opacity: 1;\n}\n\n\/* HoverZoom sur l'image au survol de la bo\u00eete d'image *\/\n.nk-sel__image-link:hover img {\n    transform: scale(1.03);\n}\n\n\/* --- CAPTIONS SOUS LES IMAGES (PC) --- *\/\n.nk-sel__caption {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding-top: 20px;\n    padding-left: 23px; \/* Marge gauche ajout\u00e9e au pixel pr\u00e8s *\/\n    padding-right: 23px; \/* Marge droite ajout\u00e9e au pixel pr\u00e8s *\/\n    font-size: 0.95rem;\n    color: #000000;\n}\n\n.nk-sel__product-name {\n    font-weight: 500;\n    letter-spacing: 0.02em;\n}\n\n.nk-sel__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}\n\n\/* Effet de disparition du soulignement fluide *\/\n.nk-sel__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-sel {\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-sel__header {\n        margin-bottom: 30px;\n    }\n\n    .nk-sel__caption {\n        padding-left: 20px; \/* Marges de s\u00e9curit\u00e9 pour tablettes *\/\n        padding-right: 20px;\n    }\n\n    \/* Annulation de l'effet hover d'opacit\u00e9 sur \u00e9crans tactiles *\/\n    .nk-sel__arrows button:hover,\n    .nk-sel__arrows button:active,\n    .nk-sel__arrows button:focus {\n        opacity: 1 !important;\n    }\n}\n\n\/* ============================================\n   RESPONSIVE MOBILE (\u2264 768px)\n============================================ *\/\n@media (max-width: 768px) {\n    .nk-sel {\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-sel__header {\n        align-items: center; \/* Centre les fl\u00e8ches verticalement avec le texte *\/\n        margin-bottom: 25px;\n    }\n\n    .nk-sel__title {\n        \/* Taille dynamique calcul\u00e9e pour partager la ligne (max 1.4rem) *\/\n        font-size: clamp(1.1rem, 4.5vw, 1.4rem);\n    }\n\n    .nk-sel__arrows {\n        margin-right: -5px;\n        gap: 10px;\n    }\n\n    .nk-sel__arrows svg {\n        width: 22px; \/* Fl\u00e8ches tr\u00e8s l\u00e9g\u00e8rement r\u00e9duites sur mobile *\/\n        height: 22px;\n    }\n\n    .nk-sel__carousel-viewport {\n        margin: 0 -5px; \/* \u00c9cart r\u00e9duit sur mobile *\/\n    }\n\n    .nk-sel__slide {\n        padding: 0 5px;\n    }\n\n    .nk-sel__caption {\n        padding-top: 15px;\n        padding-left: 20px; \/* Alignement parfait et uniforme sur mobile *\/\n        padding-right: 20px;\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('sel-slider');\n    if (!container) return;\n\n    const section = container.closest('.nk-sel'); \/\/ S\u00e9lection globale de la section\n    const track = container.querySelector('.nk-sel__carousel-track');\n    const originalSlides = Array.from(container.querySelectorAll('.nk-sel__slide'));\n    const totalOriginal = originalSlides.length;\n    const navBar = section.querySelector('.nk-sel__nav-bar'); \/\/ Barre de navigation remont\u00e9e\n\n    \/\/ Clonage pour l'effet de boucle infinie UNIQUEMENT si on a plus d'items que ce qu'on peut afficher\n    const initializeClones = () => {\n         \/\/ Nettoyage pr\u00e9alable d'\u00e9ventuels clones existants en cas de redimensionnement\n         track.querySelectorAll('.norki-clone').forEach(el => el.remove());\n\n         if(getSlidesPerView() < totalOriginal) {\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    };\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    \n    \/\/ Initialisation\n    initializeClones();\n    let allSlides = Array.from(container.querySelectorAll('.nk-sel__slide'));\n    allSlides.forEach(s => s.style.flex = `0 0 ${itemWidthPct}%`);\n    \n    let currentIndex = (itemsPerView < totalOriginal) ? totalOriginal : 0; \n    let isAnimating = false;\n\n    \/\/ Masque\/Affiche la navigation si toutes les slides sont visibles (s\u00e9curit\u00e9)\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 = 0; \/\/ Fixe l'index \u00e0 z\u00e9ro si pas besoin de scroll\n            track.style.transition = 'none';\n            track.style.transform = `translateX(0%)`;\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    \/\/ Liaison aux fl\u00e8ches d'en-t\u00eate\n    section.querySelector('.nk-sel__next').addEventListener('click', moveNext);\n    section.querySelector('.nk-sel__prev').addEventListener('click', movePrev);\n\n    track.addEventListener('transitionend', (e) => {\n        if (e.propertyName !== 'transform') return;\n        isAnimating = false;\n        \n        if (itemsPerView < totalOriginal) {\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\n    \/\/ Gestion Resize\n    window.addEventListener('resize', () => {\n        const newItemsPerView = getSlidesPerView();\n        if (newItemsPerView !== itemsPerView) {\n            itemsPerView = newItemsPerView;\n            itemWidthPct = 100 \/ itemsPerView;\n            \n            \/\/ Re-g\u00e9n\u00e8re ou d\u00e9truit les clones selon le besoin\n            initializeClones();\n            allSlides = Array.from(container.querySelectorAll('.nk-sel__slide'));\n            allSlides.forEach(s => s.style.flex = `0 0 ${itemWidthPct}%`);\n            \n            currentIndex = (itemsPerView < totalOriginal) ? totalOriginal : 0; \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 (IntersectionObserver)\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<div class=\"nk-hotels-showcase\">\n\n  <!-- Top image with fade -->\n  <section class=\"nk-hs-hero\">\n    <img decoding=\"async\" src=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/SAM.jpg\" alt=\"Wood-panelled dining room with painted panels in the Billy Cotton chalet in Gstaad\" class=\"nk-hs-hero__img\">\n    <div class=\"nk-hs-hero__fade\"><\/div>\n  <\/section>\n\n  <section id=\"wp-custom-projects-slider\" class=\"wp-custom-projects-slider-container\" aria-label=\"Our projects\">\n\n    <!-- Information block -->\n    <div class=\"projects-info\">\n      <h2 class=\"avenirmedium-font\">Explore all our <br><span class=\"baskerville-italic-font\">Mountain projects<\/span><\/h2>\n      <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/\" class=\"link-voir-tout\">View all<\/a>\n    <\/div>\n\n    <!-- Slider area -->\n    <div class=\"projects-slider\">\n      <button class=\"nav-arrow left-arrow\" aria-label=\"Previous project\">\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=\"Next project\">\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 0 : St. Moritz - Jacques Garcia (Active, shown first) -->\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\/Mink-Salon-Royere-Projet-Jacques-Garcia.jpg\" alt=\"Private Chalet St. Moritz\">\n        <\/div>\n        <div class=\"slide-content\">\n          <div class=\"slide-content-text\">\n            <span class=\"slide-city\">St. Moritz, Switzerland<\/span>\n            <h3>Private Project<\/h3>\n            <p>Fur rugs, furniture and curtains<\/p>\n          <\/div>\n          <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/jacques-garcia-saint-moritz\/\" class=\"link-voir\">View<\/a>\n        <\/div>\n      <\/article>\n\n      <!-- Slide 3 : Meg\u00e8ve (Pelican\/Lamb) -->\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\/06\/Finn-Julh-Pelican-Agneau-chalet-v2.png\" alt=\"Meg\u00e8ve Private Chalet\">\n        <\/div>\n        <div class=\"slide-content\">\n          <div class=\"slide-content-text\">\n            <span class=\"slide-city\">Meg\u00e8ve, France<\/span>\n            <h3>Private Chalet<\/h3>\n            <p>Bespoke sheepskin rug and vintage furniture curation Norki<\/p>\n          <\/div>\n          <a href=\"#\" class=\"link-voir\">View<\/a>\n        <\/div>\n      <\/article>\n\n      <!-- Slide 4 : French Alps Apartment -->\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-Norki-Megeve-Interieur-Chalet.jpg\" alt=\"French Alps Apartment\">\n        <\/div>\n        <div class=\"slide-content\">\n          <div class=\"slide-content-text\">\n            <span class=\"slide-city\">French Alps<\/span>\n            <h3>Private Apartment<\/h3>\n            <p>Between tradition and modernity<\/p>\n          <\/div>\n          <a href=\"#\" class=\"link-voir\">View<\/a>\n        <\/div>\n      <\/article>\n\n      <!-- Slide 5 : St. Moritz (The Lonsdaleite) -->\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\/interior-design-the-lonsdaleite-premiere-chalet.jpg\" alt=\"Chalet in St. Moritz\">\n        <\/div>\n        <div class=\"slide-content\">\n          <div class=\"slide-content-text\">\n            <span class=\"slide-city\">St. Moritz, Switzerland<\/span>\n            <h3>Chalet in St. Moritz<\/h3>\n            <p>James Bond-style contemporary chalet<\/p>\n          <\/div>\n          <a href=\"#\" class=\"link-voir\">View<\/a>\n        <\/div>\n      <\/article>\n\n      <!-- Slide 1 : Aspen -->\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\/Custom-daybed-in-contemporary-aspen-chalet.jpg\" alt=\"Chalet in Aspen\">\n        <\/div>\n        <div class=\"slide-content\">\n          <div class=\"slide-content-text\">\n            <span class=\"slide-city\">Aspen, Colorado<\/span>\n            <h3>Contemporary chalet<\/h3>\n          <\/div>\n          <a href=\"#\" class=\"link-voir\">View<\/a>\n        <\/div>\n      <\/article>\n\n      <!-- Slide 6 : Meg\u00e8ve (Objects) -->\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\/Bespoke-Objects-in-Megeve-Chalet.jpg\" alt=\"Meg\u00e8ve Private Chalet\">\n        <\/div>\n        <div class=\"slide-content\">\n          <div class=\"slide-content-text\">\n            <span class=\"slide-city\">Meg\u00e8ve, France<\/span>\n            <h3>Private Chalet<\/h3>\n            <p>Bespoke round sheepskin rugs<\/p>\n          <\/div>\n          <a href=\"#\" class=\"link-voir\">View<\/a>\n        <\/div>\n      <\/article>\n\n      <!-- Slide 7 : Family Chalet (Gstaad) -->\n      <article class=\"slide\">\n        <div class=\"slide__img-wrapper\">\n          <img decoding=\"async\" src=\"https:\/\/norki.com\/sur-mesure\/wp-content\/uploads\/2026\/05\/Chalet-terrace-decoration-Gstaad.jpg\" alt=\"Chalet in Gstaad\">\n        <\/div>\n        <div class=\"slide-content\">\n          <div class=\"slide-content-text\">\n            <span class=\"slide-city\">Gstaad, Switzerland<\/span>\n            <h3>Family Chalet<\/h3>\n            <p>Chalet in Gstaad<\/p>\n          <\/div>\n          <a href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/humbert-and-poyet-gstaad\/\" class=\"link-voir\">View<\/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); \/* Uniformisation sur le marron *\/\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 90%;\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        \/* D\u00e9grad\u00e9 fluide vers le fond marron officiel *\/\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\n       ========================================== *\/\n    .wp-custom-projects-slider-container {\n        --bg-section: var(--color-norki-brown, #50423d); \/* Marron pour l'ambiance sombre et \u00e9l\u00e9gante *\/\n        --text-light: #ffffff;\n        --text-muted: #d3ccc7;\n        --text-dark: var(--color-norki-beige, #f4eee9); \/* Le titre passe en beige *\/\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    \/* Isolation de la bordure-box pour \u00e9viter les conflits WP *\/\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    \/* Bloc texte en haut \u00e0 gauche *\/\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    \/* --- FL\u00c8CHES DE NAVIGATION --- *\/\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); \/* Force les fl\u00e8ches en blanc sur fond marron *\/\n    }\n\n    .wp-custom-projects-slider-container .left-arrow img {\n        transform: scaleX(-1);\n    }\n\n    \/* HOVER : Uniquement pour les appareils avec souris *\/\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    \/* CLIC R\u00c9ACTIF (PC et mobile) *\/\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    \/* Zone du Slider *\/\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    \/* Configuration des images (Slides) - Version PC de base *\/\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  -webkit-mask-image: -webkit-radial-gradient(white, black);\n  mask-image: radial-gradient(white, black);\n  -webkit-transform: translateZ(0);\n  transform: translateZ(0);\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\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  transition: transform 0.5s ease;\n  -webkit-transform: translateZ(0);\n  transform: translateZ(0);\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\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) translateZ(0);\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 *\/\n    .wp-custom-projects-slider-container .slide.active.is-coming-soon:hover::before {\n        content: \"Page under construction\";\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    \/* D\u00e9grad\u00e9 sombre *\/\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    \/* Contenu textuel sur l'image *\/\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  -webkit-transform: translateZ(0);\n  transform: translateZ(0);\n    }\n\n.wp-custom-projects-slider-container .slide-content-text {\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n.wp-custom-projects-slider-container .slide-content-text span,\n.wp-custom-projects-slider-container .slide-content-text h3,\n.wp-custom-projects-slider-container .slide-content-text p {\n  border: none !important;\n  outline: none !important;\n  background: transparent !important;\n  box-shadow: none !important;\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    \/* Bouton Voir *\/\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    \/* \u00c9tats du slider (PC > 1700px) - Marges strictes \u00e0 40px *\/\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<!-- ==========================================\n     BLOC JAVASCRIPT - COMPORTEMENT\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                        \/\/ Redirection si l'attribut href existe et est diff\u00e9rent de '#'\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","protected":false},"excerpt":{"rendered":"<p>Majestic Chalet in Gstaad Chalet in Gstaad Gstaad 2026 Curtains, Sheers, Bespoke Sofa &amp; Furniture, Vintage Gstaad, Understated Elegance and the Alpine Art of Living Nestled in the heart of the Bernese Oberland, amid a landscape of unspoiled valleys, Gstaad stands as the epitome of premium ski resorts. More than a simple winter destination, this [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5233,"parent":4283,"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-5247","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>A Majestic Chalet in Gstaad by Billy Cotton | Norki<\/title>\n<meta name=\"description\" content=\"Discover Billy Cotton\u2019s first European project: a traditional Gstaad chalet elevated by Norki\u2019s custom upholstery and restored vintage furniture.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/billy-cotton-gstaad\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A Majestic Chalet in Gstaad by Billy Cotton | Norki\" \/>\n<meta property=\"og:description\" content=\"Discover Billy Cotton\u2019s first European project: a traditional Gstaad chalet elevated by Norki\u2019s custom upholstery and restored vintage furniture.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/billy-cotton-gstaad\/\" \/>\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-10-28T02:28:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Terasse.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2145\" \/>\n\t<meta property=\"og:image:height\" content=\"1536\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/billy-cotton-gstaad\\\/\",\"url\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/billy-cotton-gstaad\\\/\",\"name\":\"A Majestic Chalet in Gstaad by Billy Cotton | Norki\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/sur-mesure\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/billy-cotton-gstaad\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/billy-cotton-gstaad\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.norki.com\\\/sur-mesure\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Terasse.jpg\",\"datePublished\":\"2026-10-27T04:47:02+00:00\",\"dateModified\":\"2026-10-28T02:28:16+00:00\",\"description\":\"Discover Billy Cotton\u2019s first European project: a traditional Gstaad chalet elevated by Norki\u2019s custom upholstery and restored vintage furniture.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/billy-cotton-gstaad\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/billy-cotton-gstaad\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/billy-cotton-gstaad\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.norki.com\\\/sur-mesure\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Terasse.jpg\",\"contentUrl\":\"https:\\\/\\\/www.norki.com\\\/sur-mesure\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Terasse.jpg\",\"width\":2145,\"height\":1536},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/billy-cotton-gstaad\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.norki.com\\\/fr\\\/sur-mesure\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Our Projects\",\"item\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Mountain\",\"item\":\"https:\\\/\\\/www.norki.com\\\/en\\\/custom-made-upholstery\\\/interior-design-projects-bespoke-craftsmanship\\\/mountain-projects\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Billy Cotton\"}]},{\"@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":"A Majestic Chalet in Gstaad by Billy Cotton | Norki","description":"Discover Billy Cotton\u2019s first European project: a traditional Gstaad chalet elevated by Norki\u2019s custom upholstery and restored vintage furniture.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/billy-cotton-gstaad\/","og_locale":"fr_FR","og_type":"article","og_title":"A Majestic Chalet in Gstaad by Billy Cotton | Norki","og_description":"Discover Billy Cotton\u2019s first European project: a traditional Gstaad chalet elevated by Norki\u2019s custom upholstery and restored vintage furniture.","og_url":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/billy-cotton-gstaad\/","og_site_name":"Norki","article_publisher":"https:\/\/facebook.com\/NorkiDecoration","article_modified_time":"2026-10-28T02:28:16+00:00","og_image":[{"width":2145,"height":1536,"url":"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Terasse.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/billy-cotton-gstaad\/","url":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/billy-cotton-gstaad\/","name":"A Majestic Chalet in Gstaad by Billy Cotton | Norki","isPartOf":{"@id":"https:\/\/www.norki.com\/sur-mesure\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/billy-cotton-gstaad\/#primaryimage"},"image":{"@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/billy-cotton-gstaad\/#primaryimage"},"thumbnailUrl":"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Terasse.jpg","datePublished":"2026-10-27T04:47:02+00:00","dateModified":"2026-10-28T02:28:16+00:00","description":"Discover Billy Cotton\u2019s first European project: a traditional Gstaad chalet elevated by Norki\u2019s custom upholstery and restored vintage furniture.","breadcrumb":{"@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/billy-cotton-gstaad\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/billy-cotton-gstaad\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/billy-cotton-gstaad\/#primaryimage","url":"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Terasse.jpg","contentUrl":"https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Terasse.jpg","width":2145,"height":1536},{"@type":"BreadcrumbList","@id":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/billy-cotton-gstaad\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.norki.com\/fr\/sur-mesure\/"},{"@type":"ListItem","position":2,"name":"Our Projects","item":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/"},{"@type":"ListItem","position":3,"name":"Mountain","item":"https:\/\/www.norki.com\/en\/custom-made-upholstery\/interior-design-projects-bespoke-craftsmanship\/mountain-projects\/"},{"@type":"ListItem","position":4,"name":"Billy Cotton"}]},{"@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":["https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Terasse.jpg",2145,1536,false],"thumbnail":["https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Terasse-150x150.jpg",150,150,true],"medium":["https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Terasse-300x215.jpg",300,215,true],"medium_large":["https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Terasse-768x550.jpg",768,550,true],"large":["https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Terasse-1024x733.jpg",1024,733,true],"1536x1536":["https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Terasse-1536x1100.jpg",1536,1100,true],"2048x2048":["https:\/\/www.norki.com\/sur-mesure\/wp-content\/uploads\/2026\/10\/Terasse-2048x1467.jpg",2048,1467,true]},"uagb_author_info":{"display_name":"webmaster","author_link":"https:\/\/www.norki.com\/sur-mesure\/author\/webmaster\/"},"uagb_comment_info":0,"uagb_excerpt":"Majestic Chalet in Gstaad Chalet in Gstaad Gstaad 2026 Curtains, Sheers, Bespoke Sofa &amp; Furniture, Vintage Gstaad, Understated Elegance and the Alpine Art of Living Nestled in the heart of the Bernese Oberland, amid a landscape of unspoiled valleys, Gstaad stands as the epitome of premium ski resorts. More than a simple winter destination, this\u2026","_links":{"self":[{"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/5247","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=5247"}],"version-history":[{"count":4,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/5247\/revisions"}],"predecessor-version":[{"id":5290,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/5247\/revisions\/5290"}],"up":[{"embeddable":true,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/pages\/4283"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/media\/5233"}],"wp:attachment":[{"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/media?parent=5247"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/categories?post=5247"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.norki.com\/sur-mesure\/wp-json\/wp\/v2\/tags?post=5247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}