:root {
  --ink: #07080b;
  --veil: rgba(6, 7, 10, 0.42);
  --veil-deep: rgba(4, 5, 8, 0.72);
  --paper: #f6efe0;
  --paper-dim: rgba(246, 239, 224, 0.78);
  --gold: #d8c19a;
  --gold-hot: #f0e2c4;
  --gold-glow: rgba(212, 176, 118, 0.32);
  --line: rgba(239, 230, 212, 0.28);
  /* Aman + Four Seasons: quiet luxury sans only — no serifs */
  --display: "Outfit", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --text: "Manrope", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --track-wide: 0.46em;
  --track-cta: 0.32em;
  --ease-silk: cubic-bezier(0.22, 1, 0.36, 1);

  /* единая шкала текста карточек (номера / сеты / ряды) */
  --type-title: clamp(1.7rem, 2.6vw, 2.35rem);
  --type-lead: 1rem;
  --type-body: 0.95rem;
  --type-list: 0.92rem;
  --type-meta: 0.72rem;
  --type-price: 1.05rem;
  --type-cta: 0.78rem;
  --type-lh: 1.45;
}

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

html,
body {
  margin: 0;
  min-height: 100%;
  background: var(--ink);
  color: var(--paper);
}

body.theme-night {
  font-family: var(--text);
  overflow-x: hidden;
}

::selection {
  background: rgba(216, 193, 154, 0.28);
  color: var(--gold-hot);
}

.grain {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 8;
  opacity: 0.11;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
