/* PlantStream design tokens — single source of truth for presentation.
   Loaded after original Elementor CSS, restoration.css and video.css; consumed
   by presentation.css. Change values here, not in per-page overrides.

   Scale (desktop targets from the 2026-10 brief; fluid toward mobile):
     H1 40–52px · H2 30–38px · H3 22–26px · body 16–17px · small 14–15px
     content max 1160px · section rhythm 64–96px
   Body classes added by restore/quality.mjs (deterministic, regeneration-safe):
     ps-family-{home|product|list|form|company|article|utility}
     ps-lang-{en|ja|ko}
*/
:root{
  /* Brand (original orange / black identity) */
  --ps-ink:#1f1d1a;
  --ps-ink-soft:#4a463f;
  --ps-muted:#6b665d;
  --ps-accent:#d9933e;          /* original brand orange */
  --ps-accent-strong:#b8742a;   /* text-safe orange on light paper */
  --ps-night:#030303;           /* header / hero black */
  --ps-paper:#f4f2ee;
  --ps-paper-2:#faf9f6;
  --ps-border:#e3dfd7;
  --ps-border-strong:#cfc9be;

  /* Type */
  --ps-font-latin:"Poppins","Segoe UI",system-ui,sans-serif;
  --ps-font-ja:"Poppins","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
  --ps-font-ko:"Poppins","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;
  --ps-font:var(--ps-font-latin);
  --ps-fs-h1:clamp(32px,1.6rem + 1.9vw,52px);
  --ps-fs-h2:clamp(26px,1.25rem + 1.2vw,38px);
  --ps-fs-h3:clamp(20px,1.05rem + .55vw,26px);
  --ps-fs-h4:clamp(17px,1rem + .2vw,20px);
  --ps-fs-body:clamp(16px,.95rem + .12vw,17px);
  --ps-fs-small:clamp(13px,.8rem + .1vw,15px);
  --ps-lh-tight:1.2;
  --ps-lh-head:1.3;
  --ps-lh-body:1.72;
  --ps-fw-head:600;
  --ps-fw-strong:600;
  --ps-track-head:-.012em;

  /* Layout */
  --ps-content:1160px;
  --ps-reading:780px;
  --ps-gutter:clamp(20px,4vw,48px);
  --ps-section:clamp(48px,6vw,96px);
  --ps-stack:clamp(16px,2vw,24px);
  --ps-media-cap:560px;         /* max width for un-recovered media placeholders */

  /* Components */
  --ps-radius:8px;
  --ps-radius-sm:6px;
  --ps-btn-h:48px;
  --ps-btn-pad:12px 24px;
  --ps-btn-fs:15px;
  --ps-cta-radius:11px;
  --ps-cta-weight:500;
  --ps-shadow-1:0 1px 2px rgba(31,29,26,.06);
  --ps-shadow-2:0 10px 28px rgba(31,29,26,.10);
}

/* Language-aware font stacks and line breaking */
body.ps-lang-ja{
  --ps-font:var(--ps-font-ja);
  --ps-lh-body:1.85;
  --ps-lh-head:1.45;
  --ps-track-head:0;
}
body.ps-lang-ko{
  --ps-font:var(--ps-font-ko);
  --ps-lh-body:1.8;
  --ps-lh-head:1.42;
  --ps-track-head:-.005em;
}
body.ps-site{
  --e-global-typography-primary-font-family:var(--ps-font);
  --e-global-typography-secondary-font-family:var(--ps-font);
  --e-global-typography-text-font-family:var(--ps-font);
  --e-global-typography-accent-font-family:var(--ps-font);
}
