@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Nunito+Sans:wght@400;500;600&display=swap');

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

:root {
  /* Color palette -- warm, friendly pet resort */
  --bg: #FFFFFF;
  --bg-alt: #FAF6F1;
  --dark: #2A2620;
  --dark-deeper: #1F1C17;
  --white: #FFFFFF;
  --text: #2B2721;
  --text-muted: #6E655B;
  --text-faint: #A0968B;
  --accent: #E07A47;
  --accent-hover: #C8632F;
  --border: #EDE7DF;
  --border-light: #F2ECE4;
  --emergency: #C25A3A;
  --emergency-light: rgba(194, 90, 58, 0.06);
  --emergency-border: rgba(194, 90, 58, 0.18);

  /* Dark section text */
  --dark-text: #F1EAE1;
  --dark-text-muted: rgba(241, 234, 225, 0.6);
  --dark-border: rgba(255, 255, 255, 0.08);

  /* Typography */
  --font-heading: 'DM Serif Display', Georgia, 'Times New Roman', serif;
  --font-body: 'Nunito Sans', system-ui, -apple-system, sans-serif;

  /* Layout */
  --max-w: 1160px;
  --content-w: 720px;
  --radius: 8px;
  --radius-sm: 6px;
  --radius-btn: 6px;

  /* Easing */
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

html {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  overflow-x: hidden;
}

img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; }
ul, ol { list-style: none; }
