{"id":180089,"date":"2026-11-05T10:20:34","date_gmt":"2026-11-05T08:20:34","guid":{"rendered":"https:\/\/www.didiointeriors.com\/?post_type=portfolio&#038;p=180089"},"modified":"2026-11-05T10:25:21","modified_gmt":"2026-11-05T08:25:21","slug":"cafe-interior-design-geneva-luma-cafe-more","status":"publish","type":"portfolio","link":"https:\/\/www.didiointeriors.com\/fr\/portfolio\/cafe-interior-design-geneva-luma-cafe-more\/","title":{"rendered":"Caf\u00e9 Interior Design Gen\u00e8ve | Luma Caf\u00e9 et plus"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><section data-parent=\"true\" class=\"vc_section row-container\" id=\"section-unique-0\"><div class=\"row no-top-padding no-bottom-padding no-h-padding full-width row-parent\"><div data-parent=\"true\" class=\"vc_row row-container\" id=\"row-unique-0\"><div class=\"row no-top-padding no-bottom-padding no-h-padding full-width row-parent\"><div class=\"wpb_row row-inner\"><div class=\"wpb_column pos-top pos-center align_left column_parent col-lg-12 single-internal-gutter\"><div class=\"uncol style-light\"  ><div class=\"uncoltable\"><div class=\"uncell no-block-padding\" ><div class=\"uncont\" >\n\t<div class=\"wpb_raw_code wpb_raw_html \" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<article class=\"ddi-luma\" aria-label=\"Luma caf\u00e9 &amp; more project\" data-ddi-luma=\"\" lang=\"en\"><header class=\"ddi-luma-hero\" id=\"ddi-luma-top\">\n  <div class=\"ddi-luma-wrap ddi-luma-hg\">\n    <div>\n      <p class=\"ddi-luma-kicker\">Caf\u00e9 interior design, Geneva<\/p>\n      <h1>Luma caf\u00e9 <span class=\"ddi-luma-amp\">&amp;<\/span> more<\/h1>\n      <p class=\"ddi-luma-lede\">An empty corner shop near Cornavin station became a caf\u00e9, cocktail bar and small library. We worked with the owners on the concept, the colours and the materials.<\/p>\n      <div class=\"ddi-luma-actions\">\n        <a class=\"ddi-luma-btn\" href=\"#ddi-luma-enquiry\">Plan a project like this<\/a>\n        <a class=\"ddi-luma-btn ddi-luma-ghost\" href=\"#ddi-luma-start\">See the journey<\/a>\n      <\/div>\n    <\/div>\n    <div class=\"ddi-luma-hero-pair\">\n      <figure class=\"ddi-luma-window\"><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-01-hero-after-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-01-hero-after-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-01-hero-after-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-01-hero-after-1366w.webp 1366w\" sizes=\"(max-width: 820px) 76vw, 420px\" alt=\"Luma caf\u00e9 with sage walls, a glazed tile bar and a backlit library niche at the far end\" width=\"1366\" height=\"1707\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\"><\/figure>\n      <span class=\"ddi-luma-when ddi-luma-a\">October 2026<\/span>\n      <figure class=\"ddi-luma-then\"><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-01-hero-before-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-01-hero-before-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-01-hero-before-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-01-hero-before-1600w.webp 1600w\" sizes=\"(max-width: 820px) 46vw, 280px\" alt=\"The empty corner shop in June 2025, with a screed floor, raw walls and an arched niche\" width=\"1600\" height=\"1600\" loading=\"eager\" decoding=\"async\"><\/figure>\n      <span class=\"ddi-luma-when ddi-luma-b\">June 2025<\/span>\n    <\/div>\n  <\/div>\n  <div class=\"ddi-luma-facts\"><div class=\"ddi-luma-wrap\"><dl>\n    <div><dt>Client<\/dt><dd>Luma caf\u00e9 &amp; more<\/dd><\/div>\n    <div><dt>Location<\/dt><dd>Rue Necker 15, Geneva, near Cornavin station<\/dd><\/div>\n    <div><dt>Concept<\/dt><dd>Specialty coffee, cocktail bar, library and shop<\/dd><\/div>\n    <div><dt>Spaces<\/dt><dd>Bar, window tables, library corner, shop wall<\/dd><\/div>\n    <div><dt>Our role<\/dt><dd>Interior concept, colour palette, material selection and design advice<\/dd><\/div>\n    <div><dt>Timeline<\/dt><dd>First visit June 2025, fit-out in autumn 2025<\/dd><\/div>\n    <div><dt>Photography<\/dt><dd>Igor Laski<\/dd><\/div>\n  <\/dl><\/div><\/div>\n<\/header>\n\n<nav class=\"ddi-luma-chap\" aria-label=\"Chapters\"><div class=\"ddi-luma-wrap\">\n  <ol>\n    <li><a href=\"#ddi-luma-start\">The space<\/a><\/li>\n    <li><a href=\"#ddi-luma-idea\">The idea<\/a><\/li>\n    <li><a href=\"#ddi-luma-site\">On site<\/a><\/li>\n    <li><a href=\"#ddi-luma-result\">The result<\/a><\/li>\n    <li><a href=\"#ddi-luma-rooms\">Corner by corner<\/a><\/li>\n    <li><a href=\"#ddi-luma-palette\">The palette<\/a><\/li>\n    <li><a href=\"#ddi-luma-owners\">Working with us<\/a><\/li>\n  <\/ol>\n  <a class=\"ddi-luma-btn\" href=\"#ddi-luma-enquiry\">Plan a project like this<\/a>\n<\/div><\/nav>\n\n<section class=\"ddi-luma-sec\" id=\"ddi-luma-start\">\n  <div class=\"ddi-luma-wrap ddi-luma-split\">\n    <div class=\"ddi-luma-txt\">\n      <p class=\"ddi-luma-kicker\">01 \u00b7 The space<\/p>\n      <h2>An empty corner with two walls of glass<\/h2>\n      <p>When we first walked in, in June 2025, there was only the shell: a screed floor, raw plaster walls and a bare ceiling. What the space did have was light. It sits on a street corner, with tall black-framed windows on two sides and an arched niche at the far end.<\/p>\n      <p>The owners knew what they wanted it to be: specialty coffee during the day, cocktails in the evening, and a place to sit down with a book.<\/p>\n      <p>Drag the handle to see the corner then and now.<\/p>\n    <\/div>\n    <figure class=\"ddi-luma-ba\"><div class=\"ddi-luma-ba-frame\">\n<img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-ba-before-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-ba-before-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-ba-before-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-ba-before-1600w.webp 1600w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"Before: the empty corner with its windows on two sides\" width=\"1600\" height=\"2000\" loading=\"lazy\" decoding=\"async\"><img class=\"ddi-luma-ba-after\" src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-ba-after-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-ba-after-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-ba-after-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-ba-after-1093w.webp 1093w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"After: the same corner with marble tables, sage chairs and the bar\" width=\"1093\" height=\"1366\" loading=\"lazy\" decoding=\"async\">\n<span class=\"ddi-luma-tag ddi-luma-tag-b\">Before<\/span><span class=\"ddi-luma-tag ddi-luma-tag-a\">After<\/span><span class=\"ddi-luma-ba-line\" aria-hidden=\"true\"><i aria-hidden=\"true\"><\/i><\/span>\n<input type=\"range\" min=\"0\" max=\"100\" value=\"50\" aria-label=\"Drag to compare before and after: the corner windows\" disabled step=\"1\" aria-valuetext=\"50% before, 50% after\">\n<\/div>\n<figcaption>The corner windows. Site visit in August 2025, and the finished caf\u00e9.<\/figcaption><\/figure>\n  <\/div>\n  <div class=\"ddi-luma-wrap\">\n    <div class=\"ddi-luma-three-up\">\n      <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-a-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-a-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-a-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-a-1600w.webp 1600w\" sizes=\"auto, (max-width: 560px) 50vw, (max-width: 1228px) 32vw, 380px\" alt=\"Empty room with raw plaster walls and an open door to the back\" width=\"1600\" height=\"2000\" loading=\"lazy\" decoding=\"async\"><figcaption>The back of the room, June 2025.<\/figcaption><\/figure>\n      <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-b-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-b-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-b-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-b-1600w.webp 1600w\" sizes=\"auto, (max-width: 560px) 50vw, (max-width: 1228px) 32vw, 380px\" alt=\"Daylight from a tall arched window falling on the bare floor\" width=\"1600\" height=\"2000\" loading=\"lazy\" decoding=\"async\"><figcaption>Daylight from the street, and the niche at the far end.<\/figcaption><\/figure>\n      <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-c-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-c-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-c-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-02-space-c-1600w.webp 1600w\" sizes=\"auto, (max-width: 560px) 50vw, (max-width: 1228px) 32vw, 380px\" alt=\"The arched niche and a long bare wall in the empty shop\" width=\"1600\" height=\"2000\" loading=\"lazy\" decoding=\"async\"><figcaption>The niche that became the library corner.<\/figcaption><\/figure>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"ddi-luma-sec ddi-luma-idea\" id=\"ddi-luma-idea\">\n  <div class=\"ddi-luma-wrap\">\n    <div class=\"ddi-luma-split ddi-luma-top\">\n      <div>\n        <p class=\"ddi-luma-kicker\">02 \u00b7 The idea<\/p>\n        <h2>One colour, three moods<\/h2>\n      <\/div>\n      <div>\n        <p>A caf\u00e9 that is also a bar and a library has to feel right at nine in the morning and at nine at night. Rather than split the room into zones with different looks, we gave it one calm colour and let it run through everything.<\/p>\n        <p>Sage green goes on the walls, on the glazed tiles of the bar and on the chairs and stools. Black picks up the steel window frames and comes back in the lights, the table bases and the menu rails. Warm light is kept for the bookshelves, so the library corner glows.<\/p>\n      <\/div>\n    <\/div>\n    <div class=\"ddi-luma-thread\" role=\"group\" aria-label=\"The colour thread in three details\">\n      <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-03-idea-sign-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-03-idea-sign-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-03-idea-sign-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-03-idea-sign-1093w.webp 1093w\" sizes=\"auto, (max-width: 560px) 50vw, (max-width: 1228px) 32vw, 380px\" alt=\"Illuminated Luma sign on a sage green wall\" width=\"1093\" height=\"1366\" loading=\"lazy\" decoding=\"async\"><figcaption>The sign, set against the sage wall.<\/figcaption><\/figure>\n      <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-03-idea-tile-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-03-idea-tile-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-03-idea-tile-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-03-idea-tile-1366w.webp 1366w\" sizes=\"auto, (max-width: 560px) 50vw, (max-width: 1228px) 32vw, 380px\" alt=\"Glazed sage tiles on the window counter\" width=\"1366\" height=\"1707\" loading=\"lazy\" decoding=\"async\"><figcaption>Glazed sage tile, on the bar and the window counter.<\/figcaption><\/figure>\n      <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-03-idea-stone-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-03-idea-stone-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-03-idea-stone-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-03-idea-stone-1093w.webp 1093w\" sizes=\"auto, (max-width: 560px) 50vw, (max-width: 1228px) 32vw, 380px\" alt=\"Speckled stone bar top above sage tiles\" width=\"1093\" height=\"1366\" loading=\"lazy\" decoding=\"async\"><figcaption>Speckled stone on top, sage tile below.<\/figcaption><\/figure>\n    <\/div>\n    <div class=\"ddi-luma-corners\">\n      <div>\n        <h3>Four corners, one room<\/h3>\n        <p>The bar runs along the long wall, which leaves the windows free for the tables. The arched niche became a library corner, and one wall became a small shop.<\/p>\n        <p>Select a corner to jump to it.<\/p>\n      <\/div>\n      <ul class=\"ddi-luma-corner-grid\" aria-label=\"The four corners of Luma\">\n        <li><a href=\"#ddi-luma-bar\"><b>The bar<\/b><span>Coffee by day, cocktails by night<\/span><\/a><\/li>\n        <li><a href=\"#ddi-luma-library\"><b>The library corner<\/b><span>Armchairs in the arched niche<\/span><\/a><\/li>\n        <li><a href=\"#ddi-luma-tables\"><b>The window tables<\/b><span>Marble tops along the glass<\/span><\/a><\/li>\n        <li><a href=\"#ddi-luma-shop\"><b>The shop wall<\/b><span>Luma's own pieces, on sage<\/span><\/a><\/li>\n      <\/ul>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"ddi-luma-sec ddi-luma-site\" id=\"ddi-luma-site\">\n  <div class=\"ddi-luma-wrap\">\n    <div class=\"ddi-luma-split ddi-luma-top\">\n      <div>\n        <p class=\"ddi-luma-kicker\">03 \u00b7 On site<\/p>\n        <h2>Then the plan went down on the floor<\/h2>\n      <\/div>\n      <div>\n        <p>In August 2025 the layout was marked out on the screed in tape, at full size: the line of the bar, the shelves and the tables. Standing inside the outline is the quickest way to check that a counter is long enough and that there is room to pass behind a chair.<\/p>\n        <p>By September the walls were sage and the bar units were going in. In October the counter was tiled. Our visits through those months were about one thing: making sure the colours and materials looked in the room the way they looked on the sample board.<\/p>\n      <\/div>\n    <\/div>\n    <div class=\"ddi-luma-site-grid\">\n      <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-main-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-main-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-main-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-main-1600w.webp 1600w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"Tape lines on the bare floor marking out the layout, with sunlight across the room\" width=\"1600\" height=\"2133\" loading=\"lazy\" decoding=\"async\"><figcaption>August 2025: the layout marked out in tape.<\/figcaption><\/figure>\n      <div class=\"ddi-luma-three\">\n        <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-a-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-a-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-a-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-a-1600w.webp 1600w\" sizes=\"auto, (max-width: 820px) 46vw, 280px\" alt=\"Tape outline on the floor beside a long bare wall\" width=\"1600\" height=\"2133\" loading=\"lazy\" decoding=\"async\"><\/figure>\n        <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-b-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-b-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-b-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-b-1600w.webp 1600w\" sizes=\"auto, (max-width: 820px) 46vw, 280px\" alt=\"Sage walls freshly painted, with tools and materials on the floor\" width=\"1600\" height=\"2133\" loading=\"lazy\" decoding=\"async\"><\/figure>\n        <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-c-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-c-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-c-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-04-site-c-1600w.webp 1600w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"Bar units being installed against the sage wall\" width=\"1600\" height=\"1000\" loading=\"lazy\" decoding=\"async\"><figcaption>September 2025: sage on the walls, bar units going in.<\/figcaption><\/figure>\n      <\/div>\n    <\/div>\n    <ol class=\"ddi-luma-tl\">\n      <li><small>June 2025<\/small><b>First visit<\/b>An empty shell on a street corner.<\/li>\n      <li><small>Summer 2025<\/small><b>Concept and colours<\/b>One palette for the caf\u00e9, the bar and the library.<\/li>\n      <li><small>August 2025<\/small><b>Layout on the floor<\/b>The plan marked out at full size.<\/li>\n      <li><small>Autumn 2025<\/small><b>Fit-out<\/b>Sage walls, bar units, tiled counter.<\/li>\n      <li><small>October 2026<\/small><b>Photographed<\/b>The finished caf\u00e9, shot by Igor Laski.<\/li>\n    <\/ol>\n  <\/div>\n<\/section>\n\n<section class=\"ddi-luma-sec ddi-luma-result\" id=\"ddi-luma-result\">\n  <div class=\"ddi-luma-wrap\">\n    <p class=\"ddi-luma-kicker\">04 \u00b7 The result<\/p>\n    <h2>A long room that reads as one place<\/h2>\n    <figure class=\"ddi-luma-pano\"><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-05-result-pano-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-05-result-pano-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-05-result-pano-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-05-result-pano-1600w.webp 1600w\" sizes=\"auto, (max-width: 1228px) 100vw, 1180px\" alt=\"Panorama of Luma caf\u00e9 from the window tables to the bar and the library niche\" width=\"1600\" height=\"613\" loading=\"lazy\" decoding=\"async\"><figcaption>From the window tables, past the bar, to the library corner.<\/figcaption><\/figure>\n    <div class=\"ddi-luma-nums\">\n      <div><b>2<\/b><span>street fronts of glass<\/span><\/div>\n      <div><b>3<\/b><span>roles: caf\u00e9, cocktail bar and library<\/span><\/div>\n      <div><b>4<\/b><span>corners in one room<\/span><\/div>\n      <div><b>1<\/b><span>colour family, from the walls to the stools<\/span><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<div id=\"ddi-luma-rooms\">\n<h2 class=\"ddi-luma-sr-only\">Corner by corner<\/h2>\n<section class=\"ddi-luma-room\" id=\"ddi-luma-bar\"><div class=\"ddi-luma-wrap\">\n  <div class=\"ddi-luma-split\">\n    <figure class=\"ddi-luma-ba\"><div class=\"ddi-luma-ba-frame\">\n<img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-ba-before-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-ba-before-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-ba-before-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-ba-before-1600w.webp 1600w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"Before: the bar during the works, with the tiles going on\" width=\"1600\" height=\"2000\" loading=\"lazy\" decoding=\"async\"><img class=\"ddi-luma-ba-after\" src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-ba-after-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-ba-after-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-ba-after-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-ba-after-1366w.webp 1366w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"After: the finished bar with its pastry counter and sage stools\" width=\"1366\" height=\"1707\" loading=\"lazy\" decoding=\"async\">\n<span class=\"ddi-luma-tag ddi-luma-tag-b\">Before<\/span><span class=\"ddi-luma-tag ddi-luma-tag-a\">After<\/span><span class=\"ddi-luma-ba-line\" aria-hidden=\"true\"><i aria-hidden=\"true\"><\/i><\/span>\n<input type=\"range\" min=\"0\" max=\"100\" value=\"50\" aria-label=\"Drag to compare before and after: the bar\" disabled step=\"1\" aria-valuetext=\"50% before, 50% after\">\n<\/div>\n<figcaption>The bar. Being tiled in October 2025, and finished.<\/figcaption><\/figure>\n    <div class=\"ddi-luma-txt\">\n      <p class=\"ddi-luma-area\">The bar<\/p>\n      <h3>A bar in glazed sage tile<\/h3>\n      <p>The bar runs along the long wall. Its front is clad in glazed sage tile under a speckled stone top, and the stools are the same green, so counter and seating read as one piece.<\/p>\n      <p>Above it, the drinks menu sits on black rails fixed straight to the wall. A glass pastry counter closes one end. The same bar serves coffee in the morning and cocktails in the evening.<\/p>\n    <\/div>\n  <\/div>\n  <div class=\"ddi-luma-trio\">\n    <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-a-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-a-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-a-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-a-1600w.webp 1600w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"The full length of the bar with sage stools and the windows beyond\" width=\"1600\" height=\"1067\" loading=\"lazy\" decoding=\"async\"><\/figure>\n    <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-b-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-b-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-b-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-b-1366w.webp 1366w\" sizes=\"auto, (max-width: 820px) 46vw, 280px\" alt=\"Bottles and a menu stand on the speckled stone bar top\" width=\"1366\" height=\"2048\" loading=\"lazy\" decoding=\"async\"><\/figure>\n    <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-c-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-c-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-c-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-c-1366w.webp 1366w\" sizes=\"auto, (max-width: 820px) 46vw, 280px\" alt=\"Sage bar stools lined up along the tiled counter\" width=\"1366\" height=\"2048\" loading=\"lazy\" decoding=\"async\"><\/figure>\n  <\/div>\n  <div class=\"ddi-luma-pair-row\">\n    <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-d-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-d-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-d-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-d-1600w.webp 1600w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"Close view of the bar stools and the stone counter edge\" width=\"1600\" height=\"1067\" loading=\"lazy\" decoding=\"async\"><\/figure>\n    <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-e-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-e-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-e-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-06-bar-e-1600w.webp 1600w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"Drinks menu on black wall rails above a shelf of glasses\" width=\"1600\" height=\"1067\" loading=\"lazy\" decoding=\"async\"><\/figure>\n  <\/div>\n<\/div><\/section>\n\n<section class=\"ddi-luma-room ddi-luma-library\" id=\"ddi-luma-library\"><div class=\"ddi-luma-wrap\">\n  <div class=\"ddi-luma-split\">\n    <div class=\"ddi-luma-txt\">\n      <p class=\"ddi-luma-area\">The library corner<\/p>\n      <h3>A library in the arched niche<\/h3>\n      <p>The arched niche at the back was the one feature the empty shop already had. It now holds a wall of white shelves lit from within, with books facing out like a shop window, and an old map of Geneva above.<\/p>\n      <p>Two armchairs, a stone side table and a rug make it the quiet end of the caf\u00e9: the place to stay for a second coffee.<\/p>\n    <\/div>\n    <figure class=\"ddi-luma-ba\"><div class=\"ddi-luma-ba-frame\">\n<img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-ba-before-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-ba-before-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-ba-before-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-ba-before-1600w.webp 1600w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"Before: the empty arched niche with a door and tape on the floor\" width=\"1600\" height=\"2000\" loading=\"lazy\" decoding=\"async\"><img class=\"ddi-luma-ba-after\" src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-ba-after-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-ba-after-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-ba-after-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-ba-after-1366w.webp 1366w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"After: backlit bookshelves in the niche with two armchairs and a rug\" width=\"1366\" height=\"1708\" loading=\"lazy\" decoding=\"async\">\n<span class=\"ddi-luma-tag ddi-luma-tag-b\">Before<\/span><span class=\"ddi-luma-tag ddi-luma-tag-a\">After<\/span><span class=\"ddi-luma-ba-line\" aria-hidden=\"true\"><i aria-hidden=\"true\"><\/i><\/span>\n<input type=\"range\" min=\"0\" max=\"100\" value=\"50\" aria-label=\"Drag to compare before and after: the library corner\" disabled step=\"1\" aria-valuetext=\"50% before, 50% after\">\n<\/div>\n<figcaption>The niche. August 2025, and the library it became.<\/figcaption><\/figure>\n  <\/div>\n  <div class=\"ddi-luma-duo\">\n    <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-a-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-a-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-a-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-a-1366w.webp 1366w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"Books displayed face out on backlit white shelves\" width=\"1366\" height=\"1708\" loading=\"lazy\" decoding=\"async\"><\/figure>\n    <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-b-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-b-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-b-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-b-1366w.webp 1366w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"The library niche seen past the end of the bar, with tables by the window\" width=\"1366\" height=\"1708\" loading=\"lazy\" decoding=\"async\"><\/figure>\n  <\/div>\n  <div class=\"ddi-luma-pair-row\">\n    <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-c-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-c-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-c-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-c-1600w.webp 1600w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"Library corner with armchairs beside the tall street window\" width=\"1600\" height=\"1067\" loading=\"lazy\" decoding=\"async\"><\/figure>\n    <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-d-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-d-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-d-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-07-library-d-1600w.webp 1600w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"Upholstered armchair in the foreground with the bar and tables behind\" width=\"1600\" height=\"1067\" loading=\"lazy\" decoding=\"async\"><\/figure>\n  <\/div>\n<\/div><\/section>\n\n<section class=\"ddi-luma-room\" id=\"ddi-luma-tables\"><div class=\"ddi-luma-wrap\">\n  <p class=\"ddi-luma-area\">The window tables<\/p>\n  <h3>Tables along the glass<\/h3>\n  <p>The tables keep to the windows, so every seat gets the street and the trees outside. White marble tops on black bases, sage wire chairs, and cushions along the window sill for those who would rather perch. On the glass, a hand-drawn espresso martini says what the evenings are for.<\/p>\n<\/div>\n<div class=\"ddi-luma-wrap\"><figure class=\"ddi-luma-bleed\"><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-08-tables-wide-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-08-tables-wide-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-08-tables-wide-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-08-tables-wide-1600w.webp 1600w\" sizes=\"auto, (max-width: 1228px) 100vw, 1180px\" alt=\"Window tables with white marble tops and sage wire chairs, the bar on the right\" width=\"1600\" height=\"900\" loading=\"lazy\" decoding=\"async\"><\/figure>\n  <div class=\"ddi-luma-duo\">\n    <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-08-tables-a-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-08-tables-a-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-08-tables-a-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-08-tables-a-1366w.webp 1366w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"Tables in front of a tall window with a tree outside\" width=\"1366\" height=\"1708\" loading=\"lazy\" decoding=\"async\"><\/figure>\n    <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-08-tables-b-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-08-tables-b-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-08-tables-b-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-08-tables-b-1366w.webp 1366w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"Espresso martini drawing on the window, with the street beyond\" width=\"1366\" height=\"1708\" loading=\"lazy\" decoding=\"async\"><\/figure>\n  <\/div>\n<\/div><\/section>\n\n<section class=\"ddi-luma-room ddi-luma-shop\" id=\"ddi-luma-shop\"><div class=\"ddi-luma-wrap\">\n  <div class=\"ddi-luma-split\">\n    <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-09-shop-a-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-09-shop-a-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-09-shop-a-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-09-shop-a-1366w.webp 1366w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"Shop wall with white shelves, a clothing rail and the illuminated Luma sign\" width=\"1366\" height=\"1708\" loading=\"lazy\" decoding=\"async\"><\/figure>\n    <div class=\"ddi-luma-txt\">\n      <p class=\"ddi-luma-area\">The shop wall<\/p>\n      <h3>A small shop on a sage wall<\/h3>\n      <p>One wall works as a shop: white shelves, a black rail for Luma's own sweatshirts and caps, and the illuminated sign above. It uses the same colours as the rest of the room, so it looks like part of the caf\u00e9 rather than something added on.<\/p>\n      <div class=\"ddi-luma-duo\">\n        <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-09-shop-b-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-09-shop-b-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-09-shop-b-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-09-shop-b-1600w.webp 1600w\" sizes=\"auto, (max-width: 820px) 46vw, 280px\" alt=\"Caps, sweatshirts and jars on the shop shelves\" width=\"1600\" height=\"1067\" loading=\"lazy\" decoding=\"async\"><\/figure>\n        <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-09-shop-c-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-09-shop-c-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-09-shop-c-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-09-shop-c-1366w.webp 1366w\" sizes=\"auto, (max-width: 820px) 46vw, 280px\" alt=\"The shop wall seen across the stone bar top\" width=\"1366\" height=\"1708\" loading=\"lazy\" decoding=\"async\"><\/figure>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div><\/section>\n<\/div>\n\n<section class=\"ddi-luma-sec ddi-luma-mat\" id=\"ddi-luma-palette\">\n  <div class=\"ddi-luma-wrap\">\n    <p class=\"ddi-luma-kicker\">05 \u00b7 The palette<\/p>\n    <h2>Six choices that hold it together<\/h2>\n    <p class=\"ddi-luma-muted\">Colours and materials were the heart of our work on Luma. The list is short on purpose, so a long room with three uses stays calm.<\/p>\n    <ul class=\"ddi-luma-sw\">\n      <li><figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-sage-480w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-sage-480w.webp 480w\" sizes=\"auto, (max-width: 560px) 50vw, (max-width: 1228px) 32vw, 380px\" alt=\"Sage green wall with the black menu rails\" width=\"480\" height=\"480\" loading=\"lazy\" decoding=\"async\"><i class=\"ddi-luma-chip\" style=\"background:#b9cfc2\" aria-hidden=\"true\"><\/i><\/figure><div><b>Sage green<\/b><span>Walls, niche and shop wall<\/span><\/div><\/li>\n      <li><figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-tile-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-tile-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-tile-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-tile-1051w.webp 1051w\" sizes=\"auto, (max-width: 560px) 50vw, (max-width: 1228px) 32vw, 380px\" alt=\"Close-up of glazed sage tiles\" width=\"1051\" height=\"1051\" loading=\"lazy\" decoding=\"async\"><i class=\"ddi-luma-chip\" style=\"background:#9fc1b3\" aria-hidden=\"true\"><\/i><\/figure><div><b>Glazed sage tile<\/b><span>The bar front and the window counter<\/span><\/div><\/li>\n      <li><figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-stone-480w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-stone-480w.webp 480w\" sizes=\"auto, (max-width: 560px) 50vw, (max-width: 1228px) 32vw, 380px\" alt=\"Close-up of the speckled stone bar top\" width=\"480\" height=\"481\" loading=\"lazy\" decoding=\"async\"><i class=\"ddi-luma-chip\" style=\"background:#c9ccc6\" aria-hidden=\"true\"><\/i><\/figure><div><b>Speckled stone<\/b><span>The bar top<\/span><\/div><\/li>\n      <li><figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-marble-480w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-marble-480w.webp 480w\" sizes=\"auto, (max-width: 560px) 50vw, (max-width: 1228px) 32vw, 380px\" alt=\"Close-up of a white marble table top\" width=\"480\" height=\"480\" loading=\"lazy\" decoding=\"async\"><i class=\"ddi-luma-chip\" style=\"background:#eceeec\" aria-hidden=\"true\"><\/i><\/figure><div><b>White marble<\/b><span>Every table top<\/span><\/div><\/li>\n      <li><figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-black-480w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-black-480w.webp 480w\" sizes=\"auto, (max-width: 560px) 50vw, (max-width: 1228px) 32vw, 380px\" alt=\"Black metal clothing rail and hangers on the sage wall\" width=\"480\" height=\"480\" loading=\"lazy\" decoding=\"async\"><i class=\"ddi-luma-chip\" style=\"background:#161a19\" aria-hidden=\"true\"><\/i><\/figure><div><b>Black steel<\/b><span>Window frames, lights, rails and table bases<\/span><\/div><\/li>\n      <li><figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-light-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-light-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-light-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-10-pal-light-1093w.webp 1093w\" sizes=\"auto, (max-width: 560px) 50vw, (max-width: 1228px) 32vw, 380px\" alt=\"Backlit white bookshelves with a warm glow\" width=\"1093\" height=\"1092\" loading=\"lazy\" decoding=\"async\"><i class=\"ddi-luma-chip\" style=\"background:#f6ecd2\" aria-hidden=\"true\"><\/i><\/figure><div><b>Warm light<\/b><span>Kept for the bookshelves<\/span><\/div><\/li>\n    <\/ul>\n  <\/div>\n<\/section>\n\n<section class=\"ddi-luma-sec ddi-luma-owners\" id=\"ddi-luma-owners\">\n  <div class=\"ddi-luma-wrap\">\n    <p class=\"ddi-luma-kicker\">06 \u00b7 Working with us<\/p>\n    <h2>Opening a caf\u00e9, a bar or a shop?<\/h2>\n    <p class=\"ddi-luma-lede\">Not every project needs a full design service. For Luma, the owners came to us for the concept, the colours and the materials. This is how that kind of project runs.<\/p>\n    <ol class=\"ddi-luma-steps\">\n      <li><b>We visit the space<\/b>We listen to how you want the place to work, then measure and photograph it.<\/li>\n      <li><b>We set the concept<\/b>One clear idea for the space, and the colour palette that carries it.<\/li>\n      <li><b>We choose the materials<\/b>Tiles, stone, paint, furniture finishes and lighting, chosen with you on real samples.<\/li>\n      <li><b>We stay on hand<\/b>Site visits and advice during the works, so the details come out as planned.<\/li>\n    <\/ol>\n    <div class=\"ddi-luma-split ddi-luma-more\">\n      <figure><img src=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-11-owners-960w.webp\" srcset=\"https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-11-owners-480w.webp 480w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-11-owners-960w.webp 960w, https:\/\/www.didiointeriors.com\/wp-content\/uploads\/2026\/11\/ddi-luma-11-owners-1600w.webp 1600w\" sizes=\"auto, (max-width: 820px) 100vw, 590px\" alt=\"Library corner and window tables at Luma caf\u00e9\" width=\"1600\" height=\"1067\" loading=\"lazy\" decoding=\"async\"><\/figure>\n      <div>\n        <p>Need more than that? We also draw every room in 3D, design the joinery and follow the build through to opening day, as we did for <a href=\"https:\/\/www.didiointeriors.com\/portfolio\/moon-pilates-club-lausanne\/\">Moon Pilates Club in Lausanne<\/a>.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"ddi-luma-sec ddi-luma-enq\" id=\"ddi-luma-enquiry\">\n  <div class=\"ddi-luma-wrap ddi-luma-split ddi-luma-top\">\n    <div>\n      <h2>Tell us about your space<\/h2>\n      <p class=\"ddi-luma-lede\">Planning a caf\u00e9, bar or shop in Geneva or Vaud? Explore our <a href=\"https:\/\/www.didiointeriors.com\/services\/\">interior design services<\/a>, or see how we designed <a href=\"https:\/\/www.didiointeriors.com\/portfolio\/moon-pilates-club-lausanne\/\">Moon Pilates Club<\/a> from bare walls to opening day.<\/p>\n    <\/div>\n    <div class=\"ddi-luma-contact\"><a class=\"ddi-luma-btn\" href=\"https:\/\/www.didiointeriors.com\/contact-di-dio-interiors\/\">Plan a project like this<\/a><\/div>\n  <\/div>\n<\/section>\n\n<\/article>\n\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"wpb_raw_code wpb_raw_js\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<script>\n(function () {\n  'use strict';\n  function init() {\n    document.querySelectorAll('[data-ddi-luma]').forEach(function (root) {\n      if (root.dataset.ddiLumaReady) return;\n      root.dataset.ddiLumaReady = 'true';\n      var nav = root.querySelector('.ddi-luma-chap');\n      var links = Array.from(nav.querySelectorAll('ol a'));\n      var chapters = links.map(function (link) {\n        return root.querySelector(link.getAttribute('href'));\n      });\n      var headerOffset = 0;\n      var navHeight = 66;\n      var queued = false;\n      var activeIndex = -2;\n      \/\/ A body-level dock escapes builder rows with overflow or transforms.\n      \/\/ Keep an equal-height slot so docking never shifts the page content.\n      var slot = document.createElement('div');\n      slot.className = 'ddi-luma-chapter-slot';\n      nav.parentNode.insertBefore(slot, nav);\n      slot.appendChild(nav);\n      var dock = document.createElement('div');\n      dock.className = 'ddi-luma ddi-luma-chapter-dock';\n      dock.hidden = true;\n      document.body.appendChild(dock);\n      var docked = false;\n      \/\/ These are the header elements observed on the live Uncode site.\n      \/\/ Fixed position is checked dynamically, including when the header shrinks.\n      var headerElements = Array.from(document.querySelectorAll(\n        '#wpadminbar, .menu-wrapper, .menu-container, #masthead, .top-menu'\n      ));\n      function updateLayout() {\n        queued = false;\n        var bottom = 0;\n        \/\/ Measure only fixed\/stuck header bars. The normal-flow notification\n        \/\/ bar is deliberately excluded as soon as it scrolls offscreen.\n        var bars = headerElements.map(function (el) {\n          var style = getComputedStyle(el);\n          var rect = el.getBoundingClientRect();\n          return { style: style, rect: rect };\n        }).filter(function (bar) {\n          return (bar.style.position === 'fixed' || bar.style.position === 'sticky') &&\n            bar.style.display !== 'none' && bar.style.visibility !== 'hidden' &&\n            bar.rect.height > 0 && bar.rect.height < window.innerHeight * .5 && bar.rect.bottom > 0;\n        }).sort(function (a, b) { return a.rect.top - b.rect.top; });\n        bars.forEach(function (bar) {\n          if (bar.rect.top <= bottom + 2) bottom = Math.max(bottom, bar.rect.bottom);\n        });\n        var rootStyle = getComputedStyle(root);\n        var manualOffset = parseFloat(rootStyle.getPropertyValue('--ddi-luma-header-extra')) || 0;\n        headerOffset = Math.max(0, Math.ceil(bottom + manualOffset));\n        root.style.setProperty('--ddi-luma-header-offset', headerOffset + 'px');\n        var rootRect = root.getBoundingClientRect();\n        var slotRect = slot.getBoundingClientRect();\n        var shouldDock = slotRect.top <= headerOffset && rootRect.bottom > headerOffset;\n        if (shouldDock) {\n          \/\/ Carry across component-level colour\/font customisations.\n          for (var property = 0; property < rootStyle.length; property++) {\n            var name = rootStyle[property];\n            if (name.indexOf('--ddi-luma-') === 0) dock.style.setProperty(name, rootStyle.getPropertyValue(name));\n          }\n          dock.style.left = Math.max(0, rootRect.left) + 'px';\n          dock.style.width = Math.max(0, Math.min(document.documentElement.clientWidth, rootRect.right) - Math.max(0, rootRect.left)) + 'px';\n          if (!docked) {\n            slot.style.height = nav.getBoundingClientRect().height + 'px';\n            dock.hidden = false;\n            dock.appendChild(nav);\n            docked = true;\n          }\n          navHeight = Math.ceil(nav.getBoundingClientRect().height);\n          slot.style.height = navHeight + 'px';\n          \/\/ Let the chapter menu leave with the project, above the next section.\n          dock.style.top = Math.min(headerOffset, root.getBoundingClientRect().bottom - navHeight) + 'px';\n        } else if (docked) {\n          slot.appendChild(nav);\n          dock.hidden = true;\n          slot.style.removeProperty('height');\n          docked = false;\n        }\n        navHeight = Math.ceil(nav.getBoundingClientRect().height);\n        root.style.setProperty('--ddi-luma-chapter-height', navHeight + 'px');\n        var index = -1;\n        chapters.forEach(function (chapter, i) {\n          if (chapter && chapter.getBoundingClientRect().top <= headerOffset + navHeight + 48) index = i;\n        });\n        if (index !== activeIndex) {\n          activeIndex = index;\n          links.forEach(function (link, i) {\n            if (i === index) link.setAttribute('aria-current', 'location');\n            else link.removeAttribute('aria-current');\n          });\n          if (index >= 0) {\n            var list = nav.querySelector('ol');\n            var selected = links[index].getBoundingClientRect();\n            var viewport = list.getBoundingClientRect();\n            if (selected.left < viewport.left || selected.right > viewport.right) {\n              list.scrollLeft += selected.left - viewport.left - (viewport.width - selected.width) \/ 2;\n            }\n          }\n        }\n      }\n      function schedule() {\n        if (!queued) { queued = true; requestAnimationFrame(updateLayout); }\n      }\n      root.querySelectorAll('.ddi-luma-ba-frame').forEach(function (frame) {\n        var range = frame.querySelector('input[type=\"range\"]');\n        function compare() {\n          var value = Number(range.value);\n          frame.style.setProperty('--ddi-luma-pos', value + '%');\n          var fr = (root.getAttribute('lang') || document.documentElement.lang || '').indexOf('fr') === 0;\n          range.setAttribute('aria-valuetext', fr ? value + ' % avant, ' + (100 - value) + ' % apr\u00e8s' : value + '% before, ' + (100 - value) + '% after');\n        }\n        range.disabled = false;\n        range.addEventListener('input', compare);\n        frame.classList.add('ddi-luma-ready');\n        compare();\n      });\n      \/\/ Native anchors remain functional without JS. Offset-aware scrolling also\n      \/\/ accounts for the header becoming fixed between the hero and its target.\n      root.querySelectorAll('a[href^=\"#ddi-luma-\"]').forEach(function (link) {\n        link.addEventListener('click', function (event) {\n          if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;\n          var target = root.querySelector(link.getAttribute('href'));\n          if (!target) return;\n          event.preventDefault();\n          updateLayout();\n          var expectedHeader = headerOffset;\n          headerElements.forEach(function (el) {\n            if (el.matches('.menu-container') && el.closest('.menu-sticky, .menu-sticky-mobile')) {\n              var rect = el.getBoundingClientRect();\n              if (rect.height > 0 && rect.height < window.innerHeight * .5) expectedHeader = Math.max(expectedHeader, rect.height);\n            }\n          });\n          var y = target.getBoundingClientRect().top + window.scrollY - expectedHeader - navHeight - 24;\n          history.pushState(null, '', link.getAttribute('href'));\n          target.setAttribute('tabindex', '-1');\n          target.focus({ preventScroll: true });\n          window.scrollTo({ top: Math.max(0, y), behavior: window.matchMedia('(prefers-reduced-motion: reduce)').matches ? 'instant' : 'smooth' });\n        });\n      });\n      window.addEventListener('scroll', schedule, { passive: true });\n      window.addEventListener('resize', schedule, { passive: true });\n      window.addEventListener('load', schedule, { once: true });\n      root.addEventListener('load', schedule, true);\n      if ('ResizeObserver' in window) {\n        var observer = new ResizeObserver(schedule);\n        observer.observe(nav);\n        observer.observe(root);\n        headerElements.forEach(function (el) { observer.observe(el); });\n      }\n      \/\/ Uncode changes header classes\/styles when it becomes fixed.\n      if ('MutationObserver' in window) {\n        var headerObserver = new MutationObserver(schedule);\n        headerElements.forEach(function (el) {\n          headerObserver.observe(el, { attributes: true, attributeFilter: ['class', 'style'] });\n        });\n      }\n      if (document.fonts && document.fonts.ready) document.fonts.ready.then(schedule);\n      updateLayout();\n    });\n  }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init, { once: true });\n  else init();\n}());\n<\/script>\n\n\t\t<\/div>\n\t<\/div>\n<\/div><\/div><\/div><\/div><\/div><script id=\"script-row-unique-0\" data-row=\"script-row-unique-0\" type=\"text\/javascript\" class=\"vc_controls\">UNCODE.initRow(document.getElementById(\"row-unique-0\"));<\/script><\/div><\/div><\/div><script id=\"script-section-unique-0\" data-section=\"script-section-unique-0\" type=\"text\/javascript\">UNCODE.initSection(document.getElementById(\"section-unique-0\"));<\/script><\/div><\/section>\n<\/div>","protected":false},"excerpt":{"rendered":"Caf\u00e9 interior design, Geneva Luma caf\u00e9 &amp; more An empty corner shop near Cornavin station became a caf\u00e9, cocktail bar [...]","protected":false},"author":1,"featured_media":179975,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"portfolio_category":[236],"class_list":["post-180089","portfolio","type-portfolio","status-publish","has-post-thumbnail","hentry","portfolio_category-commercial"],"_links":{"self":[{"href":"https:\/\/www.didiointeriors.com\/fr\/wp-json\/wp\/v2\/portfolio\/180089","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.didiointeriors.com\/fr\/wp-json\/wp\/v2\/portfolio"}],"about":[{"href":"https:\/\/www.didiointeriors.com\/fr\/wp-json\/wp\/v2\/types\/portfolio"}],"author":[{"embeddable":true,"href":"https:\/\/www.didiointeriors.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.didiointeriors.com\/fr\/wp-json\/wp\/v2\/comments?post=180089"}],"version-history":[{"count":3,"href":"https:\/\/www.didiointeriors.com\/fr\/wp-json\/wp\/v2\/portfolio\/180089\/revisions"}],"predecessor-version":[{"id":180096,"href":"https:\/\/www.didiointeriors.com\/fr\/wp-json\/wp\/v2\/portfolio\/180089\/revisions\/180096"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.didiointeriors.com\/fr\/wp-json\/wp\/v2\/media\/179975"}],"wp:attachment":[{"href":"https:\/\/www.didiointeriors.com\/fr\/wp-json\/wp\/v2\/media?parent=180089"}],"wp:term":[{"taxonomy":"portfolio_category","embeddable":true,"href":"https:\/\/www.didiointeriors.com\/fr\/wp-json\/wp\/v2\/portfolio_category?post=180089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}