:root {
  --bg-deep: #141110;
  --bg-base: #1C1816;
  --bg-elev-1: #272220;
  --bg-elev-2: #332C28;
  --bg-deco: #2E2010;
  --text-primary: #F5F0E8;
  --text-body: #D8CCBB;
  --text-muted: #9C8B7A;
  --text-subtle: #786D65;
  --text-disabled: #635B54;
  --border-soft: #4A403A;
  --border-strong: #6E645C;
  --accent-rose: #E87090;
  --accent-rose-deep: #B83B5E;
  --accent-rose-active: #F04060;
  --accent-rose-bg: #3A2028;
  --accent-rose-text: #F4A0B0;
  --accent-amber: #D4943C;
  --accent-sage: #6AAD72;
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-script: 'Caveat', cursive;
  --ease-soft: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --shadow-soft: 0 28px 70px -34px rgba(0, 0, 0, 0.75);
  --radius-soft: 18px;
  --radius-inner: 12px;
  --site-max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg-base);
  color: var(--text-body);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
:focus { outline: none; }
:focus-visible {
  outline: 2px solid var(--accent-rose-text);
  outline-offset: 3px;
  border-radius: 6px;
}
a { color: inherit; text-decoration: none; }
img, svg, video { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
.wp-site-blocks { min-height: 100vh; overflow-x: clip; }