/* ============================================================
   EXIF MEDIA — DESIGN TOKENS
   Single source of truth. Every other stylesheet consumes these.
   Grid: 8px. One typeface. One accent. Two radii. Two shadows.
   ============================================================ */

:root {
  /* ---- color ---- */
  --bg:        #F6F3EA;            /* page */
  --surface:   #FCFAF4;            /* cards, forms, nav */
  --ink:       #1A1A17;            /* headings, primary text   15.4:1 */
  --ink-2:     #4A4A42;            /* body text                 8.0:1 */
  --ink-3:     #63614F;            /* captions, labels          4.9:1 */
  --line:      rgba(26, 26, 23, 0.12);   /* hairlines */
  --line-strong: rgba(26, 26, 23, 0.24); /* input borders, hover */

  --accent:       #B03A27;         /* actions + emphasis only   5.1:1 */
  --accent-hover: #9A3220;
  --accent-tint:  rgba(176, 58, 39, 0.08);

  --success: #1A6B52;
  --warning: #8F6212;
  --error:   #A8271C;

  /* ---- type ---- */
  --ff: 'Inter', system-ui, -apple-system, sans-serif;

  --fs-xs:  13px;                          /* captions, footer */
  --fs-sm:  15px;                          /* secondary body, buttons */
  --fs-md:  17px;                          /* body */
  --fs-lg:  22px;                          /* card titles */
  --fs-xl:  28px;                          /* sub-headings */
  --fs-2xl: clamp(32px, 4vw, 44px);        /* section titles */
  --fs-3xl: clamp(40px, 5.5vw, 64px);      /* hero */

  --fw-regular: 400;
  --fw-medium:  600;
  --fw-bold:    700;

  --lh-body: 1.55;
  --lh-tight: 1.12;
  --ls-display: -0.015em;
  --ls-caps: 0.08em;

  /* ---- space (8px grid) ---- */
  --sp-1: 8px;
  --sp-2: 16px;
  --sp-3: 24px;
  --sp-4: 32px;
  --sp-6: 48px;
  --sp-8: 64px;
  --sp-12: 96px;
  --sp-16: 128px;

  /* ---- shape ---- */
  --radius-ctl:  8px;              /* buttons, inputs */
  --radius-card: 16px;             /* cards, panels */

  /* ---- elevation & material ---- */
  --shadow-1: 0 1px 2px rgba(26, 26, 23, 0.05), 0 8px 24px rgba(26, 26, 23, 0.06);
  --shadow-2: 0 2px 6px rgba(26, 26, 23, 0.05), 0 16px 40px rgba(26, 26, 23, 0.09);
  --shadow-3: 0 4px 10px rgba(26, 26, 23, 0.06), 0 24px 56px rgba(26, 26, 23, 0.12);
  --edge: inset 0 1px 0 rgba(255, 255, 255, 0.65);          /* glass top-catch */
  --surface-grad: linear-gradient(180deg, #FDFBF6 0%, #F8F4E9 100%);
  --glass: rgba(252, 250, 244, 0.68);
  --glass-blur: saturate(1.5) blur(20px);

  /* ---- motion ---- */
  --dur-in:  180ms;
  --dur-out: 140ms;
  --ease-out: cubic-bezier(0.2, 0.8, 0.3, 1);
  --ease-in:  cubic-bezier(0.5, 0, 0.8, 0.4);

  /* ---- layout ---- */
  --max-w: 1120px;
  --tap-min: 44px;

  /* ---- legacy aliases (deprecated — do not use in new code) ---- */
  --text: var(--ink);
  --text2: var(--ink-2);
  --text3: var(--ink-3);
  --border: var(--line);
  --border-h: var(--line-strong);
  --card: var(--surface);
  --bg2: var(--bg);
  --bg3: var(--bg);
  --red: var(--error);
  --orange: var(--accent);
  --teal: var(--success);
  --grad: var(--accent);
  --grad-subtle: var(--accent-tint);
  --radius: var(--radius-card);
  --ease: var(--ease-out);
}
