website_designs

Kinfolk Design Reference

Overview

Kinfolk is the definitive editorial aesthetic of intentional living, born from the influential Portland-based magazine founded in 2011 that Vanity Fair described as “a magazine that helped define a generation’s aesthetic.” At its core, Kinfolk design is about restraint, warmth, and the quiet confidence that comes from removing everything unnecessary. The visual language centers on airy, soft-focus photography bathed in natural daylight, vast expanses of whitespace that function as an active compositional element rather than empty filler, and a muted palette of warm neutrals – cream, sand, mushroom grey, and faded terracotta – that evoke linen tablecloths, handmade ceramics, and sun-warmed wood surfaces.

Kinfolk’s approach to design was revolutionary precisely because it rejected the conventional magazine wisdom that pages must be busy to hold attention. Instead, it proved that generous margins, small headline sizes, limited color usage, and swathes of breathing room could create a more compelling and authoritative visual experience. The underlying philosophy is that if you are championing a slow, responsible, quality-over-quantity approach to life, your design must embody those same values. Every layout choice – from the asymmetric placement of photography (often top-right) against a block of text (bottom-left) to the disciplined two-typeface pairing of a refined serif with a humanist sans-serif – communicates intentionality.

In web and UI design, the Kinfolk aesthetic translates into clean editorial layouts with generous padding, restrained typographic scales, desaturated earth-tone photography, and a disciplined absence of ornamentation. Navigation is understated. Animations, if present, are slow and subtle. The grid structure is felt rather than seen – pages have a controlled, architectural quality that feels as though they started busier and were slowly reduced and refined until only the essential remained. It is the visual opposite of maximalism: every pixel earns its place through purpose, and the empty space speaks as loudly as the content.


Visual Characteristics

Core Design Traits

Design Principles


Color Palette

The Kinfolk palette is drawn from the natural world of slow living: sun-bleached linen, unglazed ceramics, dried botanicals, stone, and warm shadow. Color is deliberately restrained – the only vivid hues typically appear within photography itself, where they are slightly muted and desaturated. The surrounding design operates in a narrow tonal range of warm whites, sand, mushroom grey, and a single quiet accent (often a muted terracotta, dusty rose, or faded olive). This restraint ensures that photography remains the primary source of visual interest while the layout maintains its calm, editorial authority.

Swatch Hex Role/Usage
Warm White #FAF8F5 Primary page background, base surface
Natural Cream #F3EDE4 Secondary background, card surfaces, alternate sections
Raw Linen #EBE3D7 Tertiary surface, pull-quote backgrounds, subtle banding
Parchment #E2D8C8 Image placeholder backgrounds, muted containers
Sand #D4C8B5 Border treatments, horizontal rules, divider lines
Mushroom Grey #B5ADA2 Secondary text, captions, metadata, timestamps
Warm Stone #9A917F Tertiary text, muted labels, navigation inactive states
Driftwood #7A7062 Mid-tone accent, icon fills, subtle emphasis
Charcoal Brown #3B332D Primary body text, high-readability content
Deep Espresso #2A2320 Headings, display text, strongest foreground
Dusty Terracotta #C4907A Primary warm accent, links, interactive highlights
Faded Rose #D4A99A Secondary accent, hover states, soft callouts
Dried Sage #A3AA8E Tertiary accent, category tags, nature-referencing elements
Soft Clay #C9B099 Warm mid-accent, button backgrounds, subtle emphasis
Ink Black #1A1714 Sparing use for maximum contrast moments, logo weight

CSS Custom Properties

:root {
  /* Backgrounds */
  --kf-white: #faf8f5;
  --kf-cream: #f3ede4;
  --kf-linen: #ebe3d7;
  --kf-parchment: #e2d8c8;

  /* Neutrals */
  --kf-sand: #d4c8b5;
  --kf-mushroom: #b5ada2;
  --kf-stone: #9a917f;
  --kf-driftwood: #7a7062;

  /* Foregrounds */
  --kf-charcoal: #3b332d;
  --kf-espresso: #2a2320;
  --kf-ink: #1a1714;

  /* Accents */
  --kf-terracotta: #c4907a;
  --kf-rose: #d4a99a;
  --kf-sage: #a3aa8e;
  --kf-clay: #c9b099;

  /* Functional mappings */
  --kf-bg-primary: var(--kf-white);
  --kf-bg-secondary: var(--kf-cream);
  --kf-bg-tertiary: var(--kf-linen);
  --kf-bg-surface: var(--kf-parchment);
  --kf-text-primary: var(--kf-charcoal);
  --kf-text-heading: var(--kf-espresso);
  --kf-text-muted: var(--kf-mushroom);
  --kf-text-caption: var(--kf-stone);
  --kf-accent: var(--kf-terracotta);
  --kf-accent-soft: var(--kf-rose);
  --kf-border: var(--kf-sand);
  --kf-border-light: var(--kf-linen);
  --kf-rule: var(--kf-sand);
}

Typography

Kinfolk’s typographic identity is built on the classic editorial pairing of a refined serif with a clean humanist sans-serif. The magazine itself uses custom typefaces designed by Schick Toikka – a complete family of six styles consisting of serif and sans-serif counterparts with matching italics. The serif features small flared details and varying transitional contrast flow that create a lively texture, while the sans serves as a quiet, functional companion for captions and body text. For web implementations, the following Google Fonts capture the same spirit: a transitional serif with subtle personality for headings and a clean, warm sans-serif for body copy.

Font Weight(s) Style Usage
DM Serif Display 400 Refined transitional serif with warm character Hero headlines, article titles, pull quotes
DM Serif Text 400 Text-optimized serif companion Subheadings, large body text, editorial introductions
DM Sans 300, 400, 500 Clean humanist sans-serif, warm and readable Body text, navigation, UI elements
Cormorant Garamond 300, 400, 500, 600 Elegant, high-contrast editorial serif Alternative display headings, magazine-style titles
Source Serif 4 300, 400, 600 Sturdy, readable transitional serif Long-form body text, article content
Outfit 300, 400, 500 Geometric sans with warm, approachable feel Captions, labels, metadata, navigation
IBM Plex Sans 300, 400, 500 Neutral humanist sans with editorial authority Body text alternative, form labels
Spectral 300, 400, 500 Transitional serif designed for screen Body text in serif-heavy editorial layouts

Font Pairing Suggestions

Heading Body Mood
DM Serif Display 400 DM Sans 400 Core Kinfolk: warm editorial serif with clean sans companion
Cormorant Garamond 400 Outfit 300 Elevated literary magazine with modern captions
DM Serif Display 400 Source Serif 4 300 All-serif editorial, traditional and warm
Cormorant Garamond 300 IBM Plex Sans 300 Refined, intellectual, slightly cooler editorial
Source Serif 4 600 DM Sans 300 Sturdy headings with airy, light body text

CSS Example

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=DM+Sans:wght@300;400;500&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Outfit:wght@300;400;500&display=swap');

body {
  font-family: 'DM Sans', 'Outfit', sans-serif;
  font-weight: 400;
  font-size: 1.05rem;
  line-height: 1.85;
  letter-spacing: 0.01em;
  color: var(--kf-text-primary);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
  font-family: 'DM Serif Display', 'Cormorant Garamond', Georgia, serif;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.2;
  color: var(--kf-text-heading);
}

h1 {
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  line-height: 1.15;
}

h2 {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.2;
}

h3 {
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  line-height: 1.3;
}

/* Editorial uppercase label -- captions, categories, dates */
.kf-label {
  font-family: 'DM Sans', 'Outfit', sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--kf-text-caption);
}

/* Pull quote styling */
.kf-pullquote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 300;
  font-style: italic;
  line-height: 1.5;
  color: var(--kf-driftwood);
}

/* Caption text */
.kf-caption {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.8rem;
  font-weight: 300;
  color: var(--kf-text-muted);
  line-height: 1.6;
}

Layout Principles


CSS / Design Techniques

Editorial Card Component

.kf-card {
  background: var(--kf-bg-secondary);
  border: none;
  border-radius: 0;
  padding: 0;
  overflow: hidden;
  transition: opacity 0.4s ease;
}

.kf-card__image {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  filter: saturate(0.85) contrast(0.95);
  transition: filter 0.6s ease;
}

.kf-card:hover .kf-card__image {
  filter: saturate(0.95) contrast(1);
}

.kf-card__body {
  padding: 1.75rem 1.5rem 2rem;
}

.kf-card__category {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--kf-text-caption);
  margin-bottom: 0.75rem;
  display: block;
}

.kf-card__title {
  font-family: 'DM Serif Display', serif;
  font-size: 1.25rem;
  font-weight: 400;
  color: var(--kf-text-heading);
  line-height: 1.3;
  margin-bottom: 0.75rem;
}

.kf-card__excerpt {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.7;
  color: var(--kf-text-primary);
}

.kf-card__meta {
  margin-top: 1.25rem;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.75rem;
  color: var(--kf-text-muted);
  letter-spacing: 0.05em;
}

Understated Button Component

/* Primary -- quiet, warm, understated */
.kf-button {
  display: inline-block;
  padding: 0.8rem 2.25rem;
  border: 1px solid var(--kf-charcoal);
  border-radius: 0;
  background: transparent;
  color: var(--kf-charcoal);
  font-family: 'DM Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.4s ease, color 0.4s ease;
}

.kf-button:hover {
  background: var(--kf-charcoal);
  color: var(--kf-white);
}

/* Secondary -- lighter, softer edge */
.kf-button--secondary {
  border-color: var(--kf-sand);
  color: var(--kf-driftwood);
}

.kf-button--secondary:hover {
  background: var(--kf-linen);
  border-color: var(--kf-driftwood);
  color: var(--kf-charcoal);
}

/* Terracotta accent variant */
.kf-button--accent {
  border-color: var(--kf-terracotta);
  color: var(--kf-terracotta);
}

.kf-button--accent:hover {
  background: var(--kf-terracotta);
  color: var(--kf-white);
}

/* Text-only link button */
.kf-button--text {
  border: none;
  padding: 0.5rem 0;
  position: relative;
}

.kf-button--text::after {
  content: '';
  position: absolute;
  bottom: 0.35rem;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--kf-charcoal);
  transform: scaleX(0.3);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.kf-button--text:hover::after {
  transform: scaleX(1);
}

Minimal Navigation Bar

.kf-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.75rem 5%;
  background: var(--kf-bg-primary);
  border-bottom: 1px solid var(--kf-border-light);
  position: sticky;
  top: 0;
  z-index: 100;
}

.kf-nav__brand {
  font-family: 'DM Serif Display', serif;
  font-size: 1.3rem;
  color: var(--kf-text-heading);
  text-decoration: none;
  letter-spacing: 0.02em;
}

.kf-nav__links {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.kf-nav__links a {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--kf-text-caption);
  text-decoration: none;
  transition: color 0.3s ease;
}

.kf-nav__links a:hover {
  color: var(--kf-text-heading);
}

/* Active state -- understated underline */
.kf-nav__links a.active {
  color: var(--kf-text-heading);
  position: relative;
}

.kf-nav__links a.active::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--kf-text-heading);
}

Hero Section

.kf-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  min-height: 85vh;
  background: var(--kf-bg-primary);
}

.kf-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.8) contrast(0.95);
}

.kf-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 6rem 8%;
  max-width: 560px;
}

.kf-hero__label {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.65rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--kf-text-caption);
  margin-bottom: 1.5rem;
}

.kf-hero__title {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--kf-text-heading);
  margin-bottom: 1.5rem;
}

.kf-hero__body {
  font-family: 'DM Sans', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--kf-text-primary);
  margin-bottom: 2.5rem;
}

/* Full-bleed centered variant */
.kf-hero--centered {
  grid-template-columns: 1fr;
  text-align: center;
  place-items: center;
  padding: 10rem 2rem 8rem;
  min-height: 70vh;
}

.kf-hero--centered .kf-hero__content {
  align-items: center;
  max-width: 640px;
}

@media (max-width: 768px) {
  .kf-hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .kf-hero__image {
    height: 55vh;
  }

  .kf-hero__content {
    padding: 3rem 1.5rem 4rem;
  }
}

Editorial Split Section

/* Asymmetric image-text split -- the signature Kinfolk layout */
.kf-split {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0;
  align-items: center;
  margin: 6rem 0;
}

.kf-split--reverse {
  grid-template-columns: 1fr 1.2fr;
}

.kf-split__image {
  width: 100%;
  height: 100%;
  min-height: 500px;
  object-fit: cover;
  display: block;
  filter: saturate(0.85) contrast(0.95);
}

.kf-split__content {
  padding: 4rem 8%;
  max-width: 480px;
}

.kf-split__content h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 400;
  color: var(--kf-text-heading);
  margin-bottom: 1.25rem;
}

.kf-split__content p {
  font-size: 0.95rem;
  line-height: 1.85;
  color: var(--kf-text-primary);
  margin-bottom: 1rem;
}

@media (max-width: 768px) {
  .kf-split,
  .kf-split--reverse {
    grid-template-columns: 1fr;
  }

  .kf-split__image {
    min-height: 350px;
  }

  .kf-split__content {
    padding: 2.5rem 1.5rem;
    max-width: 100%;
  }
}

Pull Quote

.kf-quote {
  max-width: 640px;
  margin: 6rem auto;
  padding: 0 2rem;
  text-align: center;
}

.kf-quote blockquote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  font-weight: 300;
  font-style: italic;
  line-height: 1.6;
  color: var(--kf-driftwood);
  margin: 0;
  padding: 0;
  border: none;
}

.kf-quote cite {
  display: block;
  margin-top: 1.5rem;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--kf-text-caption);
}

/* Thin rule accent above and below */
.kf-quote::before,
.kf-quote::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: var(--kf-sand);
  margin: 2.5rem auto;
}

Whisper-Thin Divider

.kf-divider {
  border: none;
  height: 1px;
  background: var(--kf-border-light);
  margin: 4rem auto;
  max-width: 120px;
}

/* Full-width variant */
.kf-divider--full {
  max-width: 100%;
  margin-left: 5%;
  margin-right: 5%;
}

/* Sand-toned variant for darker sections */
.kf-divider--sand {
  background: var(--kf-sand);
}

Image Filter and Treatment

/* Kinfolk photographic treatment: slightly desaturated, soft contrast */
.kf-image {
  display: block;
  width: 100%;
  height: auto;
  filter: saturate(0.82) contrast(0.94) brightness(1.02);
  transition: filter 0.6s ease;
}

.kf-image:hover {
  filter: saturate(0.92) contrast(0.98) brightness(1.01);
}

/* Soft warm overlay for images */
.kf-image-wrap {
  position: relative;
  overflow: hidden;
}

.kf-image-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 60%,
    rgba(250, 248, 245, 0.15) 100%
  );
  pointer-events: none;
}

Design Do’s and Don’ts

Do

Don’t


Aesthetic Relationship to Kinfolk
Organic Modern Closest sibling; shares warm neutrals, natural materials, and calm minimalism, but Organic Modern is interior-design oriented with more tactile texture, while Kinfolk is editorial and photographic
Japandi Shares disciplined minimalism, quiet restraint, and natural palettes; Japandi blends Japanese and Scandinavian influences with more deliberate asymmetry and darker wood tones
Scandinavian Minimalism Shares the love of whitespace and clean lines; Scandinavian tends cooler and more geometric, while Kinfolk maintains warmer tones and editorial asymmetry
Wabi-Sabi Shares appreciation for imperfection, natural materials, and quiet beauty; Wabi-Sabi embraces visible aging and roughness more than Kinfolk’s polished editorial restraint
Cottagecore Both celebrate slow, intentional living, but Cottagecore is rustic, romantic, and maximalist with floral patterns, while Kinfolk is urban-refined and minimal
Editorial / Magazine Kinfolk is a subset of editorial design; it shares grid-based layouts and typographic hierarchy but distinguishes itself through its specific warm-neutral palette and slow-living philosophy
Muji / No-Brand Shares extreme restraint and the belief that packaging should disappear; Muji is more product-focused and neutral, while Kinfolk maintains editorial warmth and photographic richness
Hygge Both reference warmth, comfort, and intentional living; Hygge is cozier, more domestic, and texture-heavy, while Kinfolk is more refined, spacious, and visually spare
Clean / Swiss Shares structural grid discipline and typographic clarity; Swiss design is more rigid, rational, and cool, while Kinfolk is warmer, more organic, and narrative-driven

Quick-Start HTML Template

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Kinfolk</title>
  <link href="https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=DM+Sans:wght@300;400;500&family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Outfit:wght@300;400;500&display=swap" rel="stylesheet">
  <style>
    :root {
      --kf-white: #faf8f5;
      --kf-cream: #f3ede4;
      --kf-linen: #ebe3d7;
      --kf-parchment: #e2d8c8;
      --kf-sand: #d4c8b5;
      --kf-mushroom: #b5ada2;
      --kf-stone: #9a917f;
      --kf-driftwood: #7a7062;
      --kf-charcoal: #3b332d;
      --kf-espresso: #2a2320;
      --kf-ink: #1a1714;
      --kf-terracotta: #c4907a;
      --kf-rose: #d4a99a;
      --kf-sage: #a3aa8e;
      --kf-clay: #c9b099;
    }

    *, *::before, *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      background: var(--kf-white);
      color: var(--kf-charcoal);
      font-family: 'DM Sans', 'Outfit', sans-serif;
      font-weight: 400;
      font-size: 1.05rem;
      line-height: 1.85;
      letter-spacing: 0.01em;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }

    h1, h2, h3 {
      font-family: 'DM Serif Display', Georgia, serif;
      font-weight: 400;
      color: var(--kf-espresso);
      letter-spacing: -0.01em;
    }

    img {
      display: block;
      width: 100%;
      height: auto;
    }

    /* ---- Navigation ---- */
    .nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 1.75rem 5%;
      background: var(--kf-white);
      border-bottom: 1px solid var(--kf-linen);
      position: sticky;
      top: 0;
      z-index: 100;
    }

    .nav__brand {
      font-family: 'DM Serif Display', serif;
      font-size: 1.35rem;
      color: var(--kf-espresso);
      text-decoration: none;
      letter-spacing: 0.03em;
    }

    .nav__links {
      display: flex;
      align-items: center;
      gap: 2.5rem;
      list-style: none;
    }

    .nav__links a {
      font-family: 'DM Sans', sans-serif;
      font-size: 0.68rem;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      color: var(--kf-stone);
      text-decoration: none;
      transition: color 0.3s ease;
    }

    .nav__links a:hover {
      color: var(--kf-espresso);
    }

    /* ---- Hero ---- */
    .hero {
      display: grid;
      grid-template-columns: 1.1fr 1fr;
      min-height: 85vh;
    }

    .hero__image-wrap {
      overflow: hidden;
      position: relative;
    }

    .hero__image-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: saturate(0.82) contrast(0.94) brightness(1.02);
    }

    .hero__content {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 5rem 8%;
      max-width: 540px;
    }

    .hero__label {
      font-family: 'DM Sans', sans-serif;
      font-size: 0.65rem;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.22em;
      color: var(--kf-stone);
      margin-bottom: 1.75rem;
    }

    .hero h1 {
      font-size: clamp(2.2rem, 4.5vw, 3.2rem);
      line-height: 1.15;
      margin-bottom: 1.5rem;
    }

    .hero p {
      font-size: 1rem;
      font-weight: 300;
      line-height: 1.85;
      color: var(--kf-charcoal);
      margin-bottom: 2.5rem;
      max-width: 420px;
    }

    .btn {
      display: inline-block;
      padding: 0.8rem 2.25rem;
      border: 1px solid var(--kf-charcoal);
      background: transparent;
      color: var(--kf-charcoal);
      font-family: 'DM Sans', sans-serif;
      font-size: 0.7rem;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      cursor: pointer;
      transition: background 0.4s ease, color 0.4s ease;
    }

    .btn:hover {
      background: var(--kf-charcoal);
      color: var(--kf-white);
    }

    .btn--secondary {
      border-color: var(--kf-sand);
      color: var(--kf-driftwood);
    }

    .btn--secondary:hover {
      background: var(--kf-linen);
      border-color: var(--kf-driftwood);
      color: var(--kf-charcoal);
    }

    /* ---- Divider ---- */
    .divider {
      border: none;
      height: 1px;
      background: var(--kf-linen);
      margin: 5rem auto;
      max-width: 100px;
    }

    .divider--full {
      max-width: 90%;
    }

    /* ---- About / Split Section ---- */
    .split {
      display: grid;
      grid-template-columns: 1fr 1.15fr;
      align-items: center;
      margin: 0;
    }

    .split--reverse {
      grid-template-columns: 1.15fr 1fr;
    }

    .split__image {
      width: 100%;
      height: 100%;
      min-height: 480px;
      object-fit: cover;
      filter: saturate(0.82) contrast(0.94) brightness(1.02);
    }

    .split__content {
      padding: 4rem 8%;
      max-width: 460px;
    }

    .split__content .label {
      font-family: 'DM Sans', sans-serif;
      font-size: 0.65rem;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      color: var(--kf-stone);
      margin-bottom: 1.25rem;
      display: block;
    }

    .split__content h2 {
      font-size: clamp(1.5rem, 2.5vw, 2rem);
      line-height: 1.2;
      margin-bottom: 1.25rem;
    }

    .split__content p {
      font-size: 0.95rem;
      font-weight: 300;
      line-height: 1.85;
      margin-bottom: 1rem;
    }

    /* ---- Quote ---- */
    .quote-section {
      max-width: 620px;
      margin: 6rem auto;
      padding: 0 2rem;
      text-align: center;
    }

    .quote-section::before,
    .quote-section::after {
      content: '';
      display: block;
      width: 40px;
      height: 1px;
      background: var(--kf-sand);
      margin: 0 auto 2.5rem;
    }

    .quote-section::after {
      margin: 2.5rem auto 0;
    }

    .quote-section blockquote {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: clamp(1.3rem, 2.5vw, 1.75rem);
      font-weight: 300;
      font-style: italic;
      line-height: 1.6;
      color: var(--kf-driftwood);
      border: none;
      padding: 0;
    }

    .quote-section cite {
      display: block;
      margin-top: 1.5rem;
      font-family: 'DM Sans', sans-serif;
      font-size: 0.68rem;
      font-weight: 500;
      font-style: normal;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      color: var(--kf-stone);
    }

    /* ---- Featured Cards ---- */
    .featured {
      padding: 5rem 5%;
      background: var(--kf-cream);
    }

    .featured__header {
      text-align: center;
      margin-bottom: 4rem;
    }

    .featured__header .label {
      font-family: 'DM Sans', sans-serif;
      font-size: 0.65rem;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.22em;
      color: var(--kf-stone);
      margin-bottom: 1rem;
      display: block;
    }

    .featured__header h2 {
      font-size: clamp(1.6rem, 3vw, 2.2rem);
      line-height: 1.2;
    }

    .card-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2.5rem;
      max-width: 1100px;
      margin: 0 auto;
    }

    .card {
      background: var(--kf-white);
      overflow: hidden;
    }

    .card__image {
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      filter: saturate(0.82) contrast(0.94) brightness(1.02);
      transition: filter 0.6s ease;
    }

    .card:hover .card__image {
      filter: saturate(0.92) contrast(0.98) brightness(1.01);
    }

    .card__body {
      padding: 1.75rem 1.5rem 2rem;
    }

    .card__category {
      font-family: 'DM Sans', sans-serif;
      font-size: 0.6rem;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      color: var(--kf-stone);
      margin-bottom: 0.75rem;
      display: block;
    }

    .card__title {
      font-family: 'DM Serif Display', serif;
      font-size: 1.2rem;
      font-weight: 400;
      color: var(--kf-espresso);
      line-height: 1.3;
      margin-bottom: 0.75rem;
    }

    .card__excerpt {
      font-size: 0.88rem;
      font-weight: 300;
      line-height: 1.7;
      color: var(--kf-charcoal);
    }

    .card__meta {
      margin-top: 1.25rem;
      font-family: 'DM Sans', sans-serif;
      font-size: 0.72rem;
      color: var(--kf-mushroom);
      letter-spacing: 0.05em;
    }

    /* ---- Footer ---- */
    .footer {
      border-top: 1px solid var(--kf-linen);
      padding: 3rem 5% 2rem;
    }

    .footer__inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      max-width: 1100px;
      margin: 0 auto;
    }

    .footer__brand {
      font-family: 'DM Serif Display', serif;
      font-size: 1.15rem;
      color: var(--kf-espresso);
    }

    .footer__links {
      display: flex;
      gap: 2rem;
      list-style: none;
    }

    .footer__links a {
      font-family: 'DM Sans', sans-serif;
      font-size: 0.68rem;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.15em;
      color: var(--kf-stone);
      text-decoration: none;
      transition: color 0.3s ease;
    }

    .footer__links a:hover {
      color: var(--kf-espresso);
    }

    .footer__copy {
      text-align: center;
      margin-top: 2.5rem;
      font-size: 0.78rem;
      color: var(--kf-mushroom);
    }

    /* ---- Responsive ---- */
    @media (max-width: 768px) {
      .nav { padding: 1.25rem 1.5rem; }
      .nav__links { gap: 1.5rem; }
      .hero { grid-template-columns: 1fr; min-height: auto; }
      .hero__image-wrap img { height: 55vh; object-fit: cover; }
      .hero__content { padding: 3rem 1.5rem 4rem; max-width: 100%; }
      .split, .split--reverse { grid-template-columns: 1fr; }
      .split__image { min-height: 350px; }
      .split__content { padding: 2.5rem 1.5rem; max-width: 100%; }
      .card-grid { grid-template-columns: 1fr; gap: 2rem; }
      .footer__inner { flex-direction: column; gap: 1.5rem; text-align: center; }
    }
  </style>
</head>
<body>

  <!-- ====== Navigation ====== -->
  <nav class="nav">
    <a href="#" class="nav__brand">Kinfolk</a>
    <ul class="nav__links">
      <li><a href="#about">About</a></li>
      <li><a href="#stories">Stories</a></li>
      <li><a href="#philosophy">Philosophy</a></li>
      <li><a href="#contact">Contact</a></li>
    </ul>
  </nav>

  <!-- ====== Hero ====== -->
  <section class="hero">
    <div class="hero__image-wrap">
      <img
        src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=900&h=1100&fit=crop&crop=faces"
        alt="Sunlit table with ceramic bowl and dried flowers"
      >
    </div>
    <div class="hero__content">
      <span class="hero__label">Volume 48 -- Slow Living</span>
      <h1>The Art of<br>Intentional Living</h1>
      <p>
        A guide to finding beauty in simplicity, meaning in
        stillness, and connection through the rituals of
        everyday life.
      </p>
      <a href="#stories" class="btn">Explore This Issue</a>
    </div>
  </section>

  <!-- ====== Divider ====== -->
  <hr class="divider">

  <!-- ====== About / Split ====== -->
  <div class="split" id="about">
    <div class="split__content">
      <span class="label">Our Approach</span>
      <h2>Design That Breathes</h2>
      <p>
        We believe that beautiful spaces, meaningful meals, and
        considered objects do not require complexity. By removing
        the unnecessary, we reveal the essential -- the warmth
        of morning light on a wooden table, the comfort of a
        hand-thrown cup, the quiet satisfaction of a day
        lived with intention.
      </p>
      <p>
        Every story we tell is an invitation to slow down,
        look more carefully, and find the extraordinary within
        the ordinary.
      </p>
    </div>
    <img
      class="split__image"
      src="https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=800&h=900&fit=crop"
      alt="Minimalist interior with natural light"
    >
  </div>

  <!-- ====== Quote ====== -->
  <section class="quote-section">
    <blockquote>
      "The things that matter most are not things at all,
       but the light that falls across a table, the silence
       between words, and the care we bring to the smallest
       of gestures."
    </blockquote>
    <cite>On Intentional Living</cite>
  </section>

  <!-- ====== Split Reverse ====== -->
  <div class="split split--reverse" id="philosophy">
    <img
      class="split__image"
      src="https://images.unsplash.com/photo-1513519245088-0e12902e35ca?w=800&h=900&fit=crop"
      alt="Handmade ceramic vessels on linen cloth"
    >
    <div class="split__content">
      <span class="label">Philosophy</span>
      <h2>Less, but Better</h2>
      <p>
        Our editorial philosophy mirrors the principles of the
        lives we document. We pair disciplined restraint with
        warmth, allowing each photograph, each word, and each
        margin to serve a clear purpose.
      </p>
      <p>
        A page with generous whitespace is not empty. It is
        full of intention.
      </p>
      <a href="#contact" class="btn btn--secondary">Learn More</a>
    </div>
  </div>

  <!-- ====== Divider ---- -->
  <hr class="divider">

  <!-- ====== Featured Cards ====== -->
  <section class="featured" id="stories">
    <div class="featured__header">
      <span class="label">Recent Stories</span>
      <h2>From the Archive</h2>
    </div>
    <div class="card-grid">
      <article class="card">
        <img
          class="card__image"
          src="https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?w=500&h=625&fit=crop"
          alt="Morning coffee ritual"
        >
        <div class="card__body">
          <span class="card__category">Ritual</span>
          <h3 class="card__title">The Morning Hour</h3>
          <p class="card__excerpt">
            How the first sixty minutes of your day can set the
            tone for everything that follows.
          </p>
          <span class="card__meta">12 min read</span>
        </div>
      </article>
      <article class="card">
        <img
          class="card__image"
          src="https://images.unsplash.com/photo-1556909172-54557c7e4fb7?w=500&h=625&fit=crop"
          alt="Handmade ceramics workshop"
        >
        <div class="card__body">
          <span class="card__category">Craft</span>
          <h3 class="card__title">Made by Hand</h3>
          <p class="card__excerpt">
            A ceramicist in rural Japan on the beauty of
            imperfection and the patience of clay.
          </p>
          <span class="card__meta">8 min read</span>
        </div>
      </article>
      <article class="card">
        <img
          class="card__image"
          src="https://images.unsplash.com/photo-1506126613408-eca07ce68773?w=500&h=625&fit=crop"
          alt="Person sitting quietly in nature"
        >
        <div class="card__body">
          <span class="card__category">Stillness</span>
          <h3 class="card__title">The Case for Doing Nothing</h3>
          <p class="card__excerpt">
            In a culture of constant productivity, rest is
            a radical act of self-preservation.
          </p>
          <span class="card__meta">10 min read</span>
        </div>
      </article>
    </div>
  </section>

  <!-- ====== Footer ====== -->
  <footer class="footer">
    <div class="footer__inner">
      <span class="footer__brand">Kinfolk</span>
      <ul class="footer__links">
        <li><a href="#about">About</a></li>
        <li><a href="#stories">Stories</a></li>
        <li><a href="#philosophy">Philosophy</a></li>
        <li><a href="#contact">Contact</a></li>
      </ul>
    </div>
    <p class="footer__copy">Designed with quiet intention.</p>
  </footer>

</body>
</html>

Implementation Tips