/* SHUNPO — Design Tokens (trimmed for ESR site-devis)
 * Full system lives in the SHUNPO design system project.
 * Only the font weights actually used here are declared. */

/* ───────── FONTS ───────── */
@font-face { font-family: "Calibre"; src: url("fonts/CalibreLight.otf") format("opentype");        font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Calibre"; src: url("fonts/CalibreRegular.otf") format("opentype");      font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Calibre"; src: url("fonts/CalibreRegularItalic.otf") format("opentype");font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Calibre"; src: url("fonts/CalibreMedium.otf") format("opentype");       font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Calibre"; src: url("fonts/CalibreSemibold.otf") format("opentype");     font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Calibre"; src: url("fonts/CalibreBold.otf") format("opentype");         font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Calibre"; src: url("fonts/CalibreBlack.otf") format("opentype");        font-weight: 900; font-style: normal; font-display: swap; }

@font-face { font-family: "SF Pro Display"; src: url("fonts/SF-Pro-Display-Light.ttf") format("truetype");      font-weight: 300; font-display: swap; }
@font-face { font-family: "SF Pro Display"; src: url("fonts/SF-Pro-Display-Regular.ttf") format("truetype");    font-weight: 400; font-display: swap; }
@font-face { font-family: "SF Pro Display"; src: url("fonts/SF-Pro-Display-Medium.ttf") format("truetype");     font-weight: 500; font-display: swap; }
@font-face { font-family: "SF Pro Display"; src: url("fonts/SF-Pro-Display-Semibold.ttf") format("truetype");   font-weight: 600; font-display: swap; }
@font-face { font-family: "SF Pro Display"; src: url("fonts/SF-Pro-Display-Bold.ttf") format("truetype");       font-weight: 700; font-display: swap; }

@font-face { font-family: "Noto Sans SC"; src: url("fonts/NotoSansSC-VariableFont_wght.ttf") format("truetype-variations"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Minion Pro"; src: url("fonts/MinionPro-Regular.otf") format("opentype"); font-weight: 400; font-display: swap; }

:root {
  /* PRIMARY */
  --fuji-night:    #1E2629;
  --blue-tenku:    #2B718C;
  --shiro:         #E5DFD3;
  --fushimi-glow:  #B94532;
  /* SECONDARY */
  --ink-shadow:    #474747;
  --hikari-frost:  #BDC8CC;
  --kome:          #F3F0E9;
  --kurenai-blush: #B05F60;
  /* EXTENDED */
  --kome-alt:      #EDE8DC;
  --bone:          #F8F5EE;
  --white-smoke:   #F1F1F1;
  --brick:         #9C3A2B;
  --brick-soft:    #C46A5A;
  --brick-glow:    #E2A597;
  --olive:         #5C6B3A;
  --olive-soft:    #8A9865;
  --olive-pale:    #D6DCC5;
  --seal:          #2A4A5C;
  --seal-soft:     #5C7D90;
  --sumac:         #C88A2E;
  --sumac-pale:    #ECD7A7;
  --ink-warm:      #5B5347;
  --ink-soft:      #847761;
  --line:          #D8D2C3;

  /* TYPOGRAPHY */
  --font-display:   "Calibre", "Archivo", "Arial Black", sans-serif;
  --font-body:      "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-editorial: "Minion Pro", ui-serif, Georgia, serif;
  --font-mono:      "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;
  --font-jp:        "Noto Sans SC", "Noto Serif JP", ui-serif, serif;

  --fs-hero:    clamp(42px, 6.4vw, 88px);
  --fs-display: clamp(32px, 4.2vw, 56px);
  --fs-title:   clamp(26px, 3vw,   40px);
  --fs-h3:      clamp(20px, 2.2vw, 26px);
  --fs-body-lg: 17px;
  --fs-body:    15px;
  --fs-small:   13px;
  --fs-micro:   10.5px;

  --lh-tight:   1.02;
  --lh-snug:    1.2;
  --lh-body:    1.55;
  --lh-prose:   1.65;
  --ls-tight:   -0.012em;
  --ls-loose:   0.18em;

  /* SPATIAL */
  --space-1:  4px;  --space-2:  8px;  --space-3:  12px; --space-4:  16px;
  --space-5:  20px; --space-6:  24px; --space-8:  32px; --space-10: 40px;
  --space-12: 48px; --space-16: 64px; --space-20: 80px; --space-24: 96px;

  /* RADII */
  --r-xs: 12px; --r-sm: 14px; --r-md: 16px; --r-bento: 18px;
  --r-lg: 20px; --r-xl: 24px; --r-pill: 99rem;

  /* SHADOWS */
  --shadow-card:    0 1px 0 rgba(30,38,41,0.04) inset, 0 0 0 1px rgba(30,38,41,0.06);
  --shadow-bento:   0 1px 2px rgba(30,38,41,0.04), 0 12px 32px -20px rgba(30,38,41,0.15);
  --shadow-soft:    0 10px 30px -22px rgba(30,38,41,0.15);
  --shadow-hero:    0 20px 50px -30px rgba(30,38,41,0.20);
  --shadow-glow:    0 12px 30px -18px rgba(156,58,43,0.40);
  --shadow-summary: 0 20px 50px -28px rgba(30,38,41,0.30);

  /* MOTION */
  --ease-out:   cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in:    cubic-bezier(0.4, 0, 1, 1);
  --ease-soft:  cubic-bezier(0.45, 0, 0.55, 1);
  --dur-fast:   180ms;
  --dur-base:   280ms;
  --dur-slow:   600ms;

  /* GRADIENTS */
  --grad-paper: linear-gradient(135deg, #F3F0E9 0%, #E5DFD3 45%, #2B718C 100%);
  --grad-deep:  linear-gradient(135deg, #F3F0E9 0%, #E5DFD3 35%, #2B718C 70%, #1E2629 100%);
  --grad-heat:  linear-gradient(135deg, #FEFEFE 0%, #B94532 45%, #1E2629 85%, #474747 100%);
  --grad-footer:linear-gradient(195deg, #474747, #1E2629 40%);
}
