/* Shared TYSHJ design tokens. Registered NAS font derivatives only; see WEB_FONT_DEPLOYMENT_RULE.md and the private font deployment ledger. See design-token-manifest.json. */
:root {
  --font-artwork-micro: 7px;
  --font-wordmark-micro: 8px;
  --font-caption-floor: 10px;
  --font-caption: 10px;
  --font-meta: 11px;
  --font-meta-lg: 12px;
  --font-small: 13px;
  --font-body-compact: 14px;
  --font-body: 15px;
  --font-body-comfort: 16px;
  --font-body-lead-compact: 17px;
  --font-body-lg: 18px;
  --font-heading-4: 19px;
  --font-icon: 20px;
  --font-icon-small: 21px;
  --font-heading-3: 22px;
  --font-title-compact: 23px;
  --font-title-sm: 24px;
  --font-title-mobile: 25px;
  --font-heading-2: 26px;
  --font-wordmark-tablet: 27px;
  --font-title-card: 28px;
  --font-title-editorial: 29px;
  --font-title-case-mobile: 31px;
  --font-heading-1: 32px;
  --font-title-case: 33px;
  --font-section-mobile: 34px;
  --font-feature-mobile: 38px;
  --font-display-compact: 49px;
  --font-display-mobile: 54px;
  --font-display-tablet: 58px;
  --font-display-medium: 66px;
  --font-feature-craft: clamp(32px,3.25vw,47px);
  --font-section-display: clamp(32px,3vw,46px);
  --font-feature-custom: clamp(36px,3.6vw,54px);
  --font-feature-cta: clamp(36px,4vw,56px);
  --font-artwork-display: clamp(55px,6vw,84px);
  --font-display: clamp(58px,5.7vw,84px);
  --font-family-heading: "TYSHJ Web Serif";
  --font-family-body: "TYSHJ Web Sans";
  --font-family-numeral: "TYSHJ Web Serif";
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 500; /* Registered Medium; no synthetic weight. */
  --font-weight-bold: 700;
  --font-button: var(--font-body-compact);
  --font-nav: var(--font-meta-lg);
  --font-button-mobile: var(--font-meta-lg);
  --font-nav-mobile: var(--font-body-lead-compact);
  --line-height-mark: 1.2;
  --line-height-display-mobile: 1.27;
  --line-height-display: 1.28;
  --line-height-title-tight: 1.4;
  --line-height-heading: 1.45;
  --line-height-heading-relaxed: 1.5;
  --line-height-card-mobile: 1.55;
  --line-height-card: 1.65;
  --line-height-body: 1.8;
  --line-height-description: 1.9;
  --line-height-editorial: 2;
  --line-height-legacy: 1.7;
  --line-height-heading-compact: 1.35;
  --letter-spacing-heading: .015em;
  --letter-spacing-display-mobile: .025em;
  --letter-spacing-display: .02em;
  --letter-spacing-mark-tight: .04em;
  --letter-spacing-label: .05em;
  --letter-spacing-label-compact: .06em;
  --letter-spacing-category: .08em;
  --letter-spacing-eyebrow: .15em;
  --letter-spacing-art-wide: .17em;
  --letter-spacing-art-display: .19em;
  --letter-spacing-eyebrow-mobile: .1em;
  --letter-spacing-mark: .2em;
  --letter-spacing-wordmark: .31em;
  --letter-spacing-wordmark-mobile: .32em;
  --color-vi-jilan: #06226c;
  --color-vi-gold-hex: #c89b40; /* VI RGB and HEX disagree; retained reference only. */
  --color-vi-jiaohong: #b81c22;
  --color-brand-primary: #242c26;
  --color-brand-secondary: #8b4b32;
  --color-accent: var(--color-brand-secondary);
  --color-background: #f8f6f1;
  --color-surface: #eeebe3;
  --color-surface-custom: #eae7de;
  --color-text-primary: #242c26;
  --color-text-secondary: #70685e;
  --color-text-secondary-on-custom: #685f55;
  --color-border: #d8d3c9;
  --color-on-brand: var(--color-background);
  --color-craft-background: #252e28;
  --color-inquiry-background: #7b4832;
  --color-button-hover: #3c4a3e;
  --color-button-light-hover: #e5dccb;
  --color-status: #665a48;
  --color-status-border: #b8b0a0;
  --color-panel-border: #c8bbae;
  --color-panel-text: #665b4e;
  --color-surface-muted: #e9e5dc;
  --color-border-strong: #b9b3a8;
  --color-subtle-line: #ccc5b9;
  --color-pale-border: #cbc3b6;
  --color-shadow: #17211813;
  --color-shadow-menu: #17211812;
  --color-copper-light: #d0a17d;
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 32px;
  --space-xl: 48px;
  --space-2xl: 64px;
  --space-section: 104px;
  --space-section-tablet: 80px;
  --space-section-mobile: 63px;
  --container-max: 1328px;
  --container-gutter: 112px;
  --container-gutter-tablet: 48px;
  --container-gutter-mobile: 40px;
  --radius-card: 0;
  --radius-legacy: 6px;
  --border-width: 1px;
  --shadow-panel: 0 8px 35px var(--color-shadow);
  --shadow-menu: 0 16px 30px var(--color-shadow-menu);
  --button-min-height: 52px;
  --button-min-height-mobile: 49px;
  --button-background: var(--color-brand-primary);
  --button-text: var(--color-on-brand);
  --link-color: var(--color-accent);
  --card-border: var(--border-width) solid var(--color-border);
}
