:root {
  --bg: #fff;
  --ink: #222;
  --muted: #777;
  --line: #e6e6e6;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 400 16px/1.65 "Nunito Sans", system-ui, sans-serif;
}
a { color: var(--ink); }
a:hover { color: var(--muted); }

/* header */
.site-header { text-align: center; padding: 56px 16px 8px; }
.logo {
  display: inline-block;
  font: 500 clamp(30px, 7vw, 48px)/1.1 "Cormorant Garamond", Georgia, serif;
  text-transform: uppercase;
  letter-spacing: .22em;
  margin-right: -.22em; /* letter-spacing rechts compenseren voor echte centrering */
  color: var(--ink);
  text-decoration: none;
}
.logo:hover { color: var(--ink); }
.site-header nav { margin-top: 20px; display: flex; justify-content: center; gap: 28px; flex-wrap: wrap; }
.site-header nav a { color: var(--muted); text-decoration: none; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; padding: 4px 0; border-bottom: 1px solid transparent; }
.site-header nav a:hover, .site-header nav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--ink); }

/* feed met Instagram-embeds */
.feed { max-width: 572px; margin: 0 auto; padding: 32px 16px 24px; display: flex; flex-direction: column; align-items: center; }
.feed .instagram-media, .feed iframe.instagram-media {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 540px !important;
  margin: 0 auto 40px !important;
  align-self: center;
}
/* zolang embed.js nog niet geladen is (of geblokkeerd wordt) */
.feed blockquote.instagram-media {
  border: 1px solid var(--line);
  border-radius: 3px;
  padding: 48px 16px;
  text-align: center;
  font-size: 14px;
}

/* contact */
.page { max-width: 560px; margin: 0 auto; padding: 40px 16px 48px; }
.page h1 { font: 500 30px/1.2 "Cormorant Garamond", Georgia, serif; text-transform: uppercase; letter-spacing: .18em; margin: 0 0 24px; text-align: center; }
.box { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 28px 0; text-align: center; }
.box p { margin: 0 0 14px; }
.box p:last-child { margin: 0; }

.site-footer { text-align: center; color: var(--muted); font-size: 13px; padding: 8px 16px 40px; }
.site-footer a { color: var(--muted); }

@media (max-width: 520px) {
  .site-header { padding-top: 36px; }
  .logo { letter-spacing: .16em; margin-right: -.16em; }
}
