/* =====================================================================
   SIB COUTURE — Design tokens
   The contract between the brand guide and the code.
   Derived from the Identity Manual; extensions marked [EXT].
   ===================================================================== */

:root {
  /* --- Colour: brand palette (Identity Manual) --- */
  --ink:            #000000;   /* Heritage Black */
  --ivory:          #F8F6F2;   /* Ivory White    */
  --gold:           #C7A24B;   /* Rich Gold      */
  --sand:           #DBC7A1;   /* Warm Sand      */
  --charcoal:       #2B2B2B;   /* Charcoal       */
  --stone:          #9A9A9A;   /* Stone          */

  /* --- [EXT] Derived surfaces --- */
  --ink-raised:     #0B0B0B;   /* card on black            */
  --ink-elevated:   #141414;   /* modal / dropdown on black */
  --ivory-raised:   #FFFFFF;
  --ivory-sunken:   #EFEBE3;
  /* Rich Gold is 2.2:1 on ivory and fails AA for text at every size. This is the
     darkened gold used for text and icons on LIGHT surfaces only.
     Measured: 5.37:1 on --ivory, 4.96:1 on --ivory-sunken, 5.89:1 on white. */
  --gold-dim:       #7A6229;
  --gold-bright:    #E0BC6B;

  /* --- [EXT] Hairlines: the primary structural device --- */
  --rule-on-dark:   rgba(219,199,161,.18);
  --rule-on-dark-strong: rgba(219,199,161,.34);
  --rule-on-light:  rgba(0,0,0,.12);
  --rule-on-light-strong: rgba(0,0,0,.26);

  /* --- [EXT] Semantic status. All ≥4.5:1 on their stated surface --- */
  --success:        #4A7C59;  --success-on-dark: #6FA97F;
  --warning:        #8A6100;  --warning-on-dark: #D4A017;
  --danger:         #A63D40;  --danger-on-dark:  #E08A8C;
  --info:           #3D5E6D;  --info-on-dark:    #8FB8C9;

  /* --- Typography --- */
  --font-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;      /* 800 */
  --font-serif:   "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-body:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Type scale — 1.25 major third, 16px base */
  --t-2xs: 0.6875rem;  /* 11 */
  --t-xs:  0.75rem;    /* 12 */
  --t-sm:  0.875rem;   /* 14 */
  --t-base:1rem;       /* 16 */
  --t-md:  1.25rem;    /* 20 */
  --t-lg:  1.5625rem;  /* 25 */
  --t-xl:  1.9375rem;  /* 31 */
  --t-2xl: 2.4375rem;  /* 39 */
  --t-3xl: 3.0625rem;  /* 49 */
  --t-4xl: 3.8125rem;  /* 61 */
  --t-5xl: 4.75rem;    /* 76 */

  --lh-tight: 1.05;
  --lh-snug:  1.25;
  --lh-body:  1.65;

  /* [EXT] The eyebrow — the connective tissue of the whole system */
  --track-eyebrow: 0.22em;
  --track-display: -0.02em;
  --track-wide:    0.08em;

  /* --- Spacing: 8px base --- */
  --s-1: 4px;   --s-2: 8px;   --s-3: 12px;  --s-4: 16px;
  --s-5: 24px;  --s-6: 32px;  --s-7: 48px;  --s-8: 64px;
  --s-9: 96px;  --s-10:128px; --s-11:160px;

  /* --- Layout --- */
  --container: 1320px;
  --container-narrow: 860px;
  --gutter: 24px;
  --header-h: 76px;

  /* --- Radius: zero. Nothing in this identity is rounded. --- */
  --radius: 0px;

  /* --- [EXT] Elevation: overlays only. Cards use hairlines. --- */
  --shadow-1: 0 1px 2px rgba(0,0,0,.4);
  --shadow-2: 0 4px 16px rgba(0,0,0,.5);
  --shadow-3: 0 16px 48px rgba(0,0,0,.6);

  /* --- [EXT] Motion: restraint made visible --- */
  --ease: cubic-bezier(.16,1,.3,1);
  --dur-fast: 160ms;
  --dur:      240ms;
  --dur-slow: 320ms;
  --dur-image: 4000ms;

  /* --- Z --- */
  --z-header: 100;  --z-drawer: 200;  --z-modal: 300;  --z-toast: 400;
}

/* Motion is a preference, not a given. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
