/* ==========================================================================
   DESIGN STREAMS
   Every visual decision that changes between clients lives here as a token.
   Components in core.css only ever read these variables — so switching
   <html data-stream="..."> re-skins an entire site: colour, type, shape,
   image grading and motion character.

   To create a bespoke stream for a client: copy one block, rename it,
   add it to STREAMS in shared/js/stream-boot.js.
   ========================================================================== */

:root,
[data-stream="savanna"] {
  /* Warm editorial luxury — bone paper, umber ink, burnt ochre */
  --bg:            #f3ede2;
  --bg-alt:        #e9e0d0;
  --surface:       #fbf8f2;
  --ink:           #221c16;
  --ink-soft:      #5e5246;
  --ink-faint:     #8f8273;
  --line:          rgba(34, 28, 22, .14);
  --accent:        #a8652d;
  --accent-ink:    #fbf8f2;
  --accent-soft:   #d9b38a;
  --dark:          #1d1813;        /* dark bands, footer */
  --dark-ink:      #efe6d8;
  --dark-soft:     #a99b88;
  --on-image:      #fbf6ee;

  --font-display:  "Cormorant Garamond", "Times New Roman", serif;
  --font-body:     "Jost", "Helvetica Neue", Arial, sans-serif;
  --font-accent:   var(--font-display);  /* quotes, numerals */
  --display-weight: 500;
  --display-style:  normal;
  --display-em-style: italic;            /* <em> inside headings */
  --display-tracking: -0.01em;
  --display-leading: 1.02;
  --display-case:   none;
  --display-scale:  1.08;                /* Cormorant runs small */
  --eyebrow-tracking: .28em;
  --eyebrow-weight: 500;
  --body-weight:    400;
  --body-size:      1.0625rem;

  --radius:        2px;
  --radius-lg:     4px;
  --btn-radius:    999px;
  --btn-tracking:  .16em;
  --btn-case:      uppercase;

  --img-filter:    saturate(.94) contrast(1.02) sepia(.06);
  --hero-shade:    linear-gradient(180deg, rgba(20,14,8,.45) 0%, rgba(20,14,8,0) 30%, rgba(20,14,8,.05) 55%, rgba(20,14,8,.72) 100%);
  --grain-opacity: .05;
  --ease:          cubic-bezier(.22, .61, .36, 1);
  --rule-style:    solid;
}

[data-stream="nocturne"] {
  /* Dark & cinematic — after-dark game drive, brass and bone */
  --bg:            #0f0e0c;
  --bg-alt:        #171512;
  --surface:       #1c1a16;
  --ink:           #ece4d6;
  --ink-soft:      #b3a894;
  --ink-faint:     #7c7363;
  --line:          rgba(236, 228, 214, .14);
  --accent:        #c9a46a;
  --accent-ink:    #12100d;
  --accent-soft:   #6e5a3a;
  --dark:          #080807;
  --dark-ink:      #ece4d6;
  --dark-soft:     #8f8574;
  --on-image:      #f4ede1;

  --font-display:  "Bodoni Moda", Didot, "Times New Roman", serif;
  --font-body:     "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  --display-weight: 400;
  --display-style:  normal;
  --display-em-style: italic;
  --display-tracking: -0.02em;
  --display-leading: 1.0;
  --display-case:   none;
  --display-scale:  .96;
  --eyebrow-tracking: .34em;
  --eyebrow-weight: 500;
  --body-weight:    300;
  --body-size:      1.0625rem;

  --radius:        0px;
  --radius-lg:     0px;
  --btn-radius:    0px;
  --btn-tracking:  .22em;
  --btn-case:      uppercase;

  --img-filter:    saturate(.78) contrast(1.08) brightness(.92);
  --hero-shade:    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.1) 35%, rgba(0,0,0,.2) 60%, rgba(0,0,0,.85) 100%);
  --grain-opacity: .07;
  --ease:          cubic-bezier(.65, .05, .36, 1);
  --rule-style:    solid;
}

[data-stream="acacia"] {
  /* Contemporary minimal — gallery white, olive, generous air */
  --bg:            #f6f5f1;
  --bg-alt:        #ecebe4;
  --surface:       #ffffff;
  --ink:           #1f211c;
  --ink-soft:      #565a50;
  --ink-faint:     #8b8e84;
  --line:          rgba(31, 33, 28, .12);
  --accent:        #5f6634;
  --accent-ink:    #ffffff;
  --accent-soft:   #c7c9a9;
  --dark:          #23261f;
  --dark-ink:      #eceee6;
  --dark-soft:     #a2a698;
  --on-image:      #ffffff;

  --font-display:  "Instrument Serif", Georgia, serif;
  --font-body:     "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
  --display-weight: 400;
  --display-style:  normal;
  --display-em-style: italic;
  --display-tracking: -0.025em;
  --display-leading: .98;
  --display-case:   none;
  --display-scale:  1.04;
  --eyebrow-tracking: .14em;
  --eyebrow-weight: 500;
  --body-weight:    400;
  --body-size:      1rem;

  --radius:        0px;
  --radius-lg:     0px;
  --btn-radius:    0px;
  --btn-tracking:  .06em;
  --btn-case:      none;

  --img-filter:    saturate(.85) contrast(1.0) brightness(1.02);
  --hero-shade:    linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,0) 55%, rgba(0,0,0,.55) 100%);
  --grain-opacity: 0;
  --ease:          cubic-bezier(.2, .7, .2, 1);
  --rule-style:    solid;
}

[data-stream="delta"] {
  /* Water, light & air — Okavango reed-bed greens, papyrus, deep channel teal */
  --bg:            #eef0ea;
  --bg-alt:        #e1e6dd;
  --surface:       #f8f9f5;
  --ink:           #13282b;
  --ink-soft:      #47605f;
  --ink-faint:     #7f9391;
  --line:          rgba(19, 40, 43, .13);
  --accent:        #2d6b66;
  --accent-ink:    #f8f9f5;
  --accent-soft:   #a8c7bd;
  --dark:          #102326;
  --dark-ink:      #e6eee9;
  --dark-soft:     #93aaa6;
  --on-image:      #f7faf6;

  --font-display:  "DM Serif Display", Georgia, serif;
  --font-body:     "DM Sans", "Helvetica Neue", Arial, sans-serif;
  --display-weight: 400;
  --display-style:  normal;
  --display-em-style: italic;
  --display-tracking: -0.015em;
  --display-leading: 1.04;
  --display-case:   none;
  --display-scale:  .94;
  --eyebrow-tracking: .2em;
  --eyebrow-weight: 500;
  --body-weight:    400;
  --body-size:      1.0625rem;

  --radius:        14px;
  --radius-lg:     28px;
  --btn-radius:    999px;
  --btn-tracking:  .04em;
  --btn-case:      none;

  --img-filter:    saturate(1.0) contrast(1.0) brightness(1.03) hue-rotate(-4deg);
  --hero-shade:    linear-gradient(180deg, rgba(8,26,28,.35) 0%, rgba(8,26,28,0) 32%, rgba(8,26,28,0) 55%, rgba(8,26,28,.6) 100%);
  --grain-opacity: 0;
  --ease:          cubic-bezier(.25, .8, .25, 1);
  --rule-style:    solid;
}

[data-stream="heritage"] {
  /* Classic old-world safari — campaign furniture, bottle green, brass, linen */
  --bg:            #f1ebdd;
  --bg-alt:        #e6dcc7;
  --surface:       #f8f3e8;
  --ink:           #1f2a22;
  --ink-soft:      #4f5a4c;
  --ink-faint:     #857f6b;
  --line:          rgba(31, 42, 34, .2);
  --accent:        #8c6a2e;
  --accent-ink:    #f8f3e8;
  --accent-soft:   #cdb787;
  --dark:          #1d2b22;
  --dark-ink:      #efe7d4;
  --dark-soft:     #a9a58c;
  --on-image:      #f8f1e2;

  --font-display:  "Playfair Display", Georgia, serif;
  --font-body:     "Karla", "Helvetica Neue", Arial, sans-serif;
  --font-accent:   "Lora", Georgia, serif;
  --display-weight: 400;
  --display-style:  normal;
  --display-em-style: italic;
  --display-tracking: -0.01em;
  --display-leading: 1.06;
  --display-case:   none;
  --display-scale:  .92;
  --eyebrow-tracking: .3em;
  --eyebrow-weight: 600;
  --body-weight:    400;
  --body-size:      1.0625rem;

  --radius:        0px;
  --radius-lg:     0px;
  --btn-radius:    0px;
  --btn-tracking:  .2em;
  --btn-case:      uppercase;

  --img-filter:    sepia(.18) saturate(.9) contrast(1.04);
  --hero-shade:    linear-gradient(180deg, rgba(24,22,12,.5) 0%, rgba(24,22,12,.05) 35%, rgba(24,22,12,.1) 60%, rgba(24,22,12,.78) 100%);
  --grain-opacity: .06;
  --ease:          cubic-bezier(.4, 0, .2, 1);
  --rule-style:    double;
}
