/* ---------------------------------------------------------------
   Fonts — self-hosted, latin subset only
--------------------------------------------------------------- */
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("../assets/fonts/cormorant-garamond.woff2") format("woff2");
}
@font-face {
  font-family: "Cormorant Garamond";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/cormorant-garamond-italic.woff2") format("woff2");
}
@font-face {
  font-family: "Alex Brush";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/alex-brush.woff2") format("woff2");
}

/* ---------------------------------------------------------------
   Design tokens — colors pulled from the illustration set itself
--------------------------------------------------------------- */
:root {
  --paper: #f6f1e7;
  --paper-deep: #efe6d3;
  --sky: #cfe3ee;
  --ink: #3b4a34;
  --sage: #7c8f6b;
  --sage-soft: #a9b89b;
  --blossom: #e3b7b0;
  --gold: #b8925a;
  --dusk: #4b4770;
  --dusk-ink: #eae6f2;
  --lantern: #f2b860;

  --font-display: "Alex Brush", cursive;
  --font-serif: "Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", serif;

  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.75rem;
  --space-4: 2.75rem;
  --space-5: 4rem;

  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --safe-right: env(safe-area-inset-right, 0px);

  color-scheme: light;
}

/* ---------------------------------------------------------------
   Reset
--------------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

html,
body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  max-width: 100%;
}

body {
  background: var(--ink);
  color: var(--ink);
  font-family: var(--font-serif);
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img,
video {
  max-width: 100%;
  display: block;
}

button {
  font-family: inherit;
  color: inherit;
}

a {
  color: inherit;
}

h1, h2, h3, p, blockquote {
  margin: 0;
}

/* ---------------------------------------------------------------
   Reduced motion
--------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
