:root {
  --bg: #f7f2ec;
  --bg-soft: #f1e7dd;
  --card-bg: #fffaf6;
  --accent: #c6907b;
  --accent-strong: #b87863;
  --accent-soft: rgba(198, 144, 123, 0.16);
  --sage: #b9c4b1;
  --warm-gray: #a4978c;
  --text: #3f3a36;
  --text-muted: #7d746d;
  --border: #e7ded6;
  --danger: #d66557;
  --success: #6e9b7a;
  --shadow-soft: 0 18px 45px rgba(90, 77, 70, 0.16);
  --radius-lg: 22px;
  --radius-xl: 30px;
  --radius-pill: 999px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;
  background: linear-gradient(180deg, #fbf7f2 0%, #f4ece4 65%, #f7f2ec 100%);
  color: var(--text);
  line-height: 1.6;
  min-height: 100vh;
}

h1, h2, h3, h4, .section-title, .hero-title, .service-hero-title {
  font-family: 'Playfair Display', 'Times New Roman', serif;
  font-weight: 600;
  letter-spacing: 0.01em;
}

p, li { font-size: 1rem; }

a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 8px;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
