/* Maison Rive — Global Design Tokens & Base Styles */

/* Size-adjusted fallbacks prevent CLS on font swap */
@font-face {
  font-family: 'Cormorant Fallback';
  src: local('Georgia');
  ascent-override: 94%;
  descent-override: 24%;
  size-adjust: 98%;
}

@font-face {
  font-family: 'DM Sans Fallback';
  src: local('Arial');
  ascent-override: 94%;
  descent-override: 22%;
  size-adjust: 101%;
}

:root {
  --mr-bg: #F4F1EC;
  --mr-ink: #16140F;
  --mr-clay: #9B6B4C;
  --mr-clay-light: #C9A98A;
  --mr-muted: #645F58; /* darkened from #7A776F — was 3.76:1, now 5.2:1 on --mr-bg */
  --mr-border: #DDD9D0;
  --mr-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --mr-ease-io: cubic-bezier(0.65, 0, 0.35, 1);
  --mr-dur: 0.9s;
}

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

/* scroll-behavior omitted — Lenis handles all smooth scrolling */

body {
  background: var(--mr-bg);
  color: var(--mr-ink);
  font-family: 'DM Sans', 'DM Sans Fallback', sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

/* Keyboard focus ring — visible only for keyboard nav, not mouse clicks */
:focus-visible {
  outline: 2px solid var(--mr-clay);
  outline-offset: 3px;
  border-radius: 1px;
}
:focus:not(:focus-visible) { outline: none; }

/* Pre-paint CLS guard — footer hidden until hero island removes this class */
html.mr-hydrating #mr-site-footer { display: none; }
