
/* ---------- self-hosted fonts ---------- */
@font-face { font-family: "Fraunces"; font-weight: 400; font-style: normal; font-display: swap;
  src: url("/assets/fonts/Fraunces-400-latin.woff2") format("woff2"); }
@font-face { font-family: "Fraunces"; font-weight: 500; font-style: normal; font-display: swap;
  src: url("/assets/fonts/Fraunces-500-latin.woff2") format("woff2"); }
@font-face { font-family: "Fraunces"; font-weight: 600; font-style: normal; font-display: swap;
  src: url("/assets/fonts/Fraunces-600-latin.woff2") format("woff2"); }
@font-face { font-family: "Fraunces"; font-weight: 700; font-style: normal; font-display: swap;
  src: url("/assets/fonts/Fraunces-700-latin.woff2") format("woff2"); }
@font-face { font-family: "Noto Sans Thai"; font-weight: 400; font-display: swap;
  src: url("/assets/fonts/NotoSansThai-400-thai.woff2") format("woff2"),
       url("/assets/fonts/NotoSansThai-400-latin.woff2") format("woff2"); }
@font-face { font-family: "Noto Sans Thai"; font-weight: 600; font-display: swap;
  src: url("/assets/fonts/NotoSansThai-600-thai.woff2") format("woff2"); }
@font-face { font-family: "Noto Sans Thai"; font-weight: 700; font-display: swap;
  src: url("/assets/fonts/NotoSansThai-700-thai.woff2") format("woff2"); }
@font-face { font-family: "Noto Serif Thai"; font-weight: 600; font-display: swap;
  src: url("/assets/fonts/NotoSerifThai-600-thai.woff2") format("woff2"); }
@font-face { font-family: "Noto Serif Thai"; font-weight: 700; font-display: swap;
  src: url("/assets/fonts/NotoSerifThai-700-thai.woff2") format("woff2"); }

:root {
  /* paper & ink */
  --paper: #FBF6F0;
  --paper-2: #F6EEE6;
  --card: #FFFFFF;
  --ink: #17100F;
  --ink-2: #3A2A2C;
  --muted: #8A7478;
  --muted-2: #B9A7A9;
  --line: rgba(126, 4, 29, 0.12);
  --line-2: rgba(126, 4, 29, 0.07);

  /* burgundy */
  --wine: #7E041D;
  --wine-2: #9B1230;
  --wine-3: #B01F3C;
  --wine-soft: #F3E2E5;
  --wine-tint: #FBEEF0;

  /* type */
  --serif: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", "Noto Sans Thai", sans-serif;
  --thai: "Noto Sans Thai", "Thonburi", -apple-system, sans-serif;

  /* scale */
  --fs-display: clamp(30px, 8.6vw, 40px);
  --fs-h1: 26px;
  --fs-h2: 20px;
  --fs-body: 15px;
  --fs-sm: 13px;
  --fs-xs: 11px;

  /* shape */
  --r-xl: 28px;
  --r-lg: 22px;
  --r-md: 16px;
  --r-sm: 11px;
  --r-pill: 999px;

  --sh-s: 0 1px 2px rgba(40, 10, 16, 0.05), 0 8px 20px -14px rgba(40, 10, 16, 0.28);
  --sh-m: 0 2px 6px rgba(40, 10, 16, 0.05), 0 22px 44px -28px rgba(40, 10, 16, 0.42);
  --sh-wine: 0 18px 40px -22px rgba(126, 4, 29, 0.55);

  --sp: 20px;
  --tab-h: 64px;
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-t: env(safe-area-inset-top, 0px);

  --ease: cubic-bezier(.2, .8, .2, 1);
}
