Japandi
Japanese-Scandinavian design system: lots of white space, natural walnut, moss and persimmon tones, hairlines, small type and a light serif. For interiors, furniture makers, ceramics and calm wellness.

Atelier Hout & Klei · Utrecht
Bank Oudegracht
Massief eiken, geolied. Gemaakt op bestelling in onze werkplaats aan de Vaartsche Rijn. Levertijd zes weken.
Japandi
Rust door weglaten. Natuurlijke tinten, ruime marges en lijnen zo dun dat je ze pas ziet als je zoekt.
Kleur
- Achtergrond · rijstpapier
#F7F4EF - Oppervlak · linnen
#EEE8DF - Tekst · sumi
#2E2B27 - Gedempt · steen
#6B655C - Lijn · 0,5 px
#D9D2C6 - Accent · walnoot
#6F5B45 - Accent 2 · mos
#9EA28A - Signaal · kaki
#B0563A
Letter
Sentient 300
Synonym voor tekst, licht en open, met ruimte tussen de regels.
40 · 22 · 15 · 11 regelafstand 1,7
Bediening
Past bij · interieur en meubelmakers · keramiek en ambacht · architectuur · yoga en massage · boetiekhotels
How to use it
- Paste the HTML where the themes should appear.
- Add the CSS to your stylesheet. All classes are prefixed, so nothing clashes with your own styles.
- No JavaScript needed.
<!-- Japandi · NedDev · eigen werk. -->
<div class="jouw-container">
<div class="tjp"><div class="tjp__in">
<div class="tjp__spine"><span class="tjp__vt">Thema 10 · Japandi</span><span class="tjp__seal" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"><path d="M19.5 9.5A8 8 0 1 0 17 18"/></svg></span></div>
<div class="tjp__show">
<figure class="tjp__fig"><img src="https://neddev.com/lab-media/thm-japandi-1.webp" alt="Eikenhouten bank met een keramische vaas en een droge tak bij een raam aan een Utrechtse gracht" loading="lazy"></figure>
<div class="tjp__prod">
<p class="tjp__brand">Atelier Hout & Klei · Utrecht</p>
<p class="tjp__pt">Bank <em>Oudegracht</em></p>
<p class="tjp__pd">Massief eiken, geolied. Gemaakt op bestelling in onze werkplaats aan de Vaartsche Rijn. Levertijd zes weken.</p>
<div class="tjp__pf"><span class="tjp__price">€ 1.180</span><button class="tjp__btn tjp__btn--p" type="button">Bestel op maat</button></div>
</div>
</div>
<div class="tjp__sys">
<h3 class="tjp__name">Japandi</h3>
<p class="tjp__mood">Rust door weglaten. Natuurlijke tinten, ruime marges en lijnen zo dun dat je ze pas ziet als je zoekt.</p>
<div class="tjp__block">
<p class="tjp__lbl">Kleur</p>
<ul class="tjp__pal">
<li style="--c:#F7F4EF"><i></i><span>Achtergrond · rijstpapier</span><code>#F7F4EF</code></li>
<li style="--c:#EEE8DF"><i></i><span>Oppervlak · linnen</span><code>#EEE8DF</code></li>
<li style="--c:#2E2B27"><i></i><span>Tekst · sumi</span><code>#2E2B27</code></li>
<li style="--c:#6B655C"><i></i><span>Gedempt · steen</span><code>#6B655C</code></li>
<li style="--c:#D9D2C6"><i></i><span>Lijn · 0,5 px</span><code>#D9D2C6</code></li>
<li style="--c:#6F5B45"><i></i><span>Accent · walnoot</span><code>#6F5B45</code></li>
<li style="--c:#9EA28A"><i></i><span>Accent 2 · mos</span><code>#9EA28A</code></li>
<li style="--c:#B0563A"><i></i><span>Signaal · kaki</span><code>#B0563A</code></li>
</ul>
</div>
<div class="tjp__block tjp__type">
<p class="tjp__lbl">Letter</p>
<p class="tjp__t1">Sentient 300</p>
<p class="tjp__t2">Synonym voor tekst, licht en open, met ruimte tussen de regels.</p>
<p class="tjp__t3">40 · 22 · 15 · 11 regelafstand 1,7</p>
</div>
<div class="tjp__block">
<p class="tjp__lbl">Bediening</p>
<div class="tjp__btns">
<button class="tjp__btn tjp__btn--p" type="button">Bestel</button>
<button class="tjp__btn tjp__btn--s" type="button">Werkplaats bezoeken</button>
<button class="tjp__btn tjp__btn--g" type="button">Verhaal</button>
<button class="tjp__btn tjp__btn--p is-hover" type="button">Hover</button>
</div>
<div class="tjp__form">
<input class="tjp__input" type="text" value="Eline Jansen" aria-label="Naam">
<select class="tjp__sel" aria-label="Houtsoort"><option>Eiken, geolied</option><option>Essen, gezeept</option></select>
</div>
<div class="tjp__badges"><span class="tjp__bdg"><i style="background:#9EA28A"></i>Op voorraad</span><span class="tjp__bdg"><i style="background:#6F5B45"></i>Handgemaakt</span><span class="tjp__bdg"><i style="background:#B0563A"></i>Nog 2</span></div>
</div>
<p class="tjp__fit">Past bij · interieur en meubelmakers · keramiek en ambacht · architectuur · yoga en massage · boetiekhotels</p>
</div>
</div></div>
</div>/* Japandi · NedDev · eigen werk. */
/* fonts (Fontshare): sentient@300,400,500 + synonym@300,400,500 */
.tjp{--tjp-bg:#F7F4EF;--tjp-surface:#EEE8DF;--tjp-ink:#2E2B27;--tjp-muted:#6B655C;--tjp-line:#D9D2C6;--tjp-accent:#6F5B45;--tjp-accent-2:#9EA28A;--tjp-signal:#B0563A;--tjp-r:2px;--tjp-serif:'Sentient',Georgia,serif;--tjp-sans:'Synonym',sans-serif;
container-type:inline-size;background:var(--tjp-bg);color:var(--tjp-ink);font-family:var(--tjp-sans);font-weight:300;font-variant-numeric:tabular-nums}
.tjp *{box-sizing:border-box}
.tjp__in{display:grid;grid-template-columns:64px 1.05fr 1fr;gap:56px;padding:56px 64px 48px 40px;max-width:1280px;margin:0 auto}
.tjp__spine{display:flex;flex-direction:column;align-items:center;justify-content:space-between;border-right:.5px solid var(--tjp-line);padding-right:24px}
.tjp__vt{writing-mode:vertical-rl;font-size:12px;letter-spacing:.3em;color:var(--tjp-muted);text-transform:uppercase}
.tjp__seal{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--tjp-signal);color:var(--tjp-signal);border-radius:var(--tjp-r)}.tjp__seal svg{width:20px;height:20px}
.tjp__fig{margin:0}
.tjp__fig img{display:block;width:100%;height:400px;object-fit:cover;object-position:62% 50%;border-radius:var(--tjp-r);filter:saturate(.85)}
.tjp__prod{display:grid;grid-template-columns:1fr;margin-top:26px;padding-top:20px;border-top:.5px solid var(--tjp-line)}
.tjp__brand{margin:0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--tjp-muted)}
.tjp__pt{margin:10px 0 0;font:300 32px/1.1 var(--tjp-serif)}
.tjp__pt em{font-style:italic;color:var(--tjp-accent)}
.tjp__pd{margin:10px 0 18px;font-size:14px;line-height:1.75;color:var(--tjp-muted);max-width:46ch}
.tjp__pf{display:flex;justify-content:space-between;align-items:center;gap:16px}
.tjp__price{font:400 20px var(--tjp-serif)}
.tjp__sys{padding-top:4px}
.tjp__name{margin:0;font:300 64px/1 var(--tjp-serif);letter-spacing:-.01em}
.tjp__mood{margin:16px 0 34px;font-size:15px;line-height:1.75;color:var(--tjp-muted);max-width:40ch}
.tjp__block{padding:18px 0 22px;border-top:.5px solid var(--tjp-line)}
.tjp__lbl{margin:0 0 14px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--tjp-muted)}
.tjp__pal{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}
.tjp__pal li{display:grid;grid-template-columns:1fr auto;align-items:end;row-gap:6px}
.tjp__pal i{grid-column:1/-1;height:8px;background:var(--c);border-radius:1px;box-shadow:inset 0 0 0 .5px rgba(46,43,39,.18);transition:height .5s ease}
.tjp__pal li:hover i{height:14px}
.tjp__pal span{font-size:12.5px}.tjp__pal code{font:300 11px var(--tjp-sans);color:var(--tjp-muted)}
.tjp__t1{margin:0;font:300 40px/1.05 var(--tjp-serif)}
.tjp__t2{margin:8px 0 6px;font-size:15px;line-height:1.7}
.tjp__t3{margin:0;font-size:11px;letter-spacing:.12em;color:var(--tjp-muted)}
.tjp__btns{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.tjp__btn{font:400 13px/1 var(--tjp-sans);letter-spacing:.08em;padding:13px 20px;border-radius:var(--tjp-r);border:.5px solid transparent;cursor:pointer;transition:background .4s ease,color .4s ease,border-color .4s ease}
.tjp__btn--p{background:var(--tjp-accent);color:#F7F4EF}
.tjp__btn--p:hover,.tjp__btn--p.is-hover{background:var(--tjp-ink)}
.tjp__btn--s{background:transparent;color:var(--tjp-ink);border-color:var(--tjp-muted)}.tjp__btn--s:hover{background:var(--tjp-surface)}
.tjp__btn--g{background:transparent;color:var(--tjp-ink);padding-left:2px;padding-right:2px;background-image:linear-gradient(var(--tjp-ink),var(--tjp-ink));background-size:30% .5px;background-repeat:no-repeat;background-position:0 85%;transition:background-size .5s ease}.tjp__btn--g:hover{background-size:100% .5px}
.tjp__form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px}
.tjp__input,.tjp__sel{width:100%;font:300 15px var(--tjp-sans);color:var(--tjp-ink);background:transparent;border:0;border-bottom:.5px solid var(--tjp-muted);border-radius:0;padding:9px 0;outline:none;transition:border-color .4s}
.tjp__sel{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#6B655C 50%),linear-gradient(135deg,#6B655C 50%,transparent 50%);background-position:calc(100% - 9px) 55%,calc(100% - 5px) 55%;background-size:4px 4px;background-repeat:no-repeat}
.tjp__input:focus,.tjp__sel:focus{border-bottom-color:var(--tjp-accent)}
.tjp__badges{display:flex;flex-wrap:wrap;gap:18px}
.tjp__bdg{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.06em;color:var(--tjp-muted)}
.tjp__bdg i{width:6px;height:6px;border-radius:50%}
.tjp__fit{margin:10px 0 0;padding-top:16px;border-top:.5px solid var(--tjp-line);font-size:12px;line-height:1.7;letter-spacing:.04em;color:var(--tjp-muted)}
@container (max-width:1000px){.tjp__in{grid-template-columns:48px 1fr;gap:40px}.tjp__sys{grid-column:2}.tjp__spine{grid-row:span 2}}
@container (max-width:620px){.tjp__in{grid-template-columns:1fr;gap:28px;padding:28px 16px}.tjp__spine{grid-row:auto;flex-direction:row;border-right:0;border-bottom:.5px solid var(--tjp-line);padding:0 0 12px}.tjp__vt{writing-mode:horizontal-tb;letter-spacing:.2em}.tjp__sys{grid-column:auto}.tjp__fig img{height:260px}.tjp__name{font-size:48px}.tjp__pal{grid-template-columns:1fr}.tjp__form{grid-template-columns:1fr}.tjp__pf{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){.tjp *{transition:none!important}}
More themes
Seen something you like?
Add it to your selection and send it over. We build your site around it, in your brand.
Get in touch →