/* Family Residence: shared tokens and fonts. Loaded first on every page, including explore.html and the owner panel.
   Noto Serif Display 400 and Commissioner 400/600, self-hosted. Licences: site/fonts/OFL-*.txt
   Each face is split by script, exactly as published. Ө ө Ү ү live in the cyrillic-ext file and ₮ in the latin-ext file. */

@font-face { font-family: "Noto Serif Display"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/noto-serif-display-cyrillic-ext-400-normal.woff2") format("woff2"); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Noto Serif Display"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/noto-serif-display-cyrillic-400-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Noto Serif Display"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/noto-serif-display-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Noto Serif Display"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/noto-serif-display-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/commissioner-cyrillic-ext-400-normal.woff2") format("woff2"); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/commissioner-cyrillic-400-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/commissioner-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/commissioner-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/commissioner-cyrillic-ext-600-normal.woff2") format("woff2"); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/commissioner-cyrillic-600-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/commissioner-latin-ext-600-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Commissioner"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/commissioner-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  /* ---- raw materials: use these only to define surfaces, never directly in a page ---- */
  --espresso-950: #140C08;   /* the darkest night, 3D stage */
  --espresso-900: #1E130E;   /* dark surface */
  --espresso-800: #2A1B14;   /* raised on dark */
  --espresso-700: #3B271D;   /* borders on dark */
  --brick-800: #5E2E1B;
  --brick-700: #743A24;      /* brick surface */
  --brick-600: #8C4A2F;      /* facade brick */
  --brick-400: #C08462;
  --ochre-600: #C98F2E;
  --ochre-500: #E2AC4A;      /* the ochre strip on the facade */
  --ochre-300: #F0CC8C;
  --gold-ink: #7A4E0C;       /* ochre for text on felt, 6.0:1 on felt-200 */
  --felt-050: #FCF9F3;       /* stone: raised on felt */
  --felt-100: #F8F2E7;
  --felt-200: #F3EADB;       /* felt: the default page */
  --felt-300: #E8DCC8;
  --felt-400: #D5C4AA;
  --ink-900: #241710;        /* text on felt */
  --ink-700: #4A382C;
  --ink-600: #5F4B3D;        /* quiet text on felt, 6.9:1 */
  --cream-100: #F7EFE2;      /* text on dark */
  --cream-300: #D6C7B2;      /* quiet text on dark, 11:1 */
  --cream-500: #AD9C88;

  /* ---- status: each has an ink for light surfaces and a lamp for dark ones ---- */
  --ok-ink: #2B5A41;    --ok-lamp: #A7D0A4;    --ok-tint: #DDE8D6;
  --hold-ink: #7F5300;  --hold-lamp: #F0C670;  --hold-tint: #F5E3B9;
  --sold-ink: #5A4F48;  --sold-lamp: #BDB0A5;  --sold-tint: #E2DAD1;
  --ask-ink: #35536A;   --ask-lamp: #AECADC;   --ask-tint: #DAE5EA;
  --err-ink: #9B2C1A;   --err-lamp: #F4A995;   --err-tint: #F6DDD3;

  /* ---- type ---- */
  --font-display: "Noto Serif Display", "Times New Roman", serif;
  --font-text: "Commissioner", "Segoe UI", Roboto, Arial, sans-serif;
  --fs-display-1: clamp(2.75rem, 1.55rem + 5.2vw, 5.75rem);   /* 44 to 92: Home hero only */
  --fs-display-2: clamp(2.25rem, 1.5rem + 3.3vw, 4.25rem);    /* 36 to 68: page hero */
  --fs-h1: clamp(2rem, 1.5rem + 2.1vw, 3.25rem);              /* 32 to 52: section title */
  --fs-h2: clamp(1.625rem, 1.35rem + 1.15vw, 2.25rem);        /* 26 to 36 */
  --fs-h3: clamp(1.25rem, 1.15rem + .45vw, 1.5rem);           /* 20 to 24: Commissioner 600 */
  --fs-lede: clamp(1.125rem, 1.05rem + .35vw, 1.3125rem);     /* 18 to 21 */
  --fs-body: 1.0625rem;                                       /* 17 */
  --fs-small: .9375rem;                                       /* 15 */
  --fs-label: .8125rem;                                       /* 13: the floor, nothing smaller */
  --lh-tight: 1.08; --lh-head: 1.16; --lh-body: 1.6;

  /* ---- space: 4 px base ---- */
  --s-1: .25rem; --s-2: .5rem; --s-3: .75rem; --s-4: 1rem; --s-5: 1.5rem; --s-6: 2rem; --s-7: 3rem; --s-8: 4rem; --s-9: 6rem; --s-10: 8rem;
  --gutter: clamp(1.25rem, 4.6vw, 4.5rem);    /* page side margin */
  --section: clamp(4rem, 9vw, 8.5rem);        /* vertical rhythm between chapters */
  --measure: 62ch;
  --page-max: 88rem;

  /* ---- shape ---- */
  --r-1: 2px;         /* everything rectangular, like cut stone */
  --r-2: 4px;         /* sheets and images */
  --tap: 44px;        /* the smallest finger target */
  --header-h: 76px;

  /* ---- motion: light moves slowly, controls answer fast ---- */
  --t-fast: 140ms; --t-med: 280ms; --t-slow: 700ms;
  --ease-out: cubic-bezier(.2, .7, .2, 1);
  --ease-light: cubic-bezier(.33, 0, .15, 1);

  /* ---- material ---- */
  --stitch-dash: 11px; --stitch-gap: 7px;
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .2 0 0 0 0 .1 0 0 0 .55 -.14'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");
}
