/* ============================================================
   POLY PLAST: Colors & Type
   Source: Poly Plast Branding.pptx theme
   ============================================================ */

/* Self-hosted Barlow Semi Condensed (UI handoff section 1): the woff2 files are copies of the SVRS repo's
   static/fonts, and these declarations are the SVRS ones. No Google Fonts call in production. */
@font-face { font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('/static/fonts/barlow-semicondensed-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('/static/fonts/barlow-semicondensed-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('/static/fonts/barlow-semicondensed-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('/static/fonts/barlow-semicondensed-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('/static/fonts/barlow-semicondensed-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('/static/fonts/barlow-semicondensed-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 800; font-display: swap;
  src: url('/static/fonts/barlow-semicondensed-800-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Semi Condensed'; font-style: normal; font-weight: 800; font-display: swap;
  src: url('/static/fonts/barlow-semicondensed-800-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }


:root {
  /* --------------------------------------------------------
     BRAND COLORS
     -------------------------------------------------------- */

  /* Primary yellow: the "S" hex-mark color */
  --pp-yellow:        #F4C21F;   /* accent 1: primary */
  --pp-yellow-deep:   #D9A800;   /* accent 2: pressed / darker */
  --pp-yellow-soft:   #FFE082;   /* accent 3: tints, highlights */
  --pp-yellow-wash:   #FFF6D6;   /* extended: very light wash for bg */
  --pp-amber-ink:     #8A5A00;   /* readable amber for TEXT, links, carets (5.5:1 on wash); bright amber is for fills only. Back-ported from the cockpit 2026-10-12 */

  /* Neutrals: from dk1/dk2/lt1/lt2 + accent 4-6 */
  --pp-ink:           #1F1F1F;   /* dk1: primary text, logo gray */
  --pp-graphite:      #2A2A2A;   /* extended: cards on dark bg */
  --pp-charcoal:      #4A4A4A;   /* accent 4 */
  --pp-slate:         #555555;   /* dk2: secondary text */
  --pp-steel:         #6A6A6A;   /* accent 5, tertiary text (darkened from #7A7A7A for AA contrast). Back-ported from the cockpit 2026-10-12 */
  --pp-gray:          #A6A6A6;   /* lt2: disabled / hairlines on dark */
  --pp-mist:          #BDBDBD;   /* accent 6: borders on light */
  --pp-fog:           #E5E5E5;   /* extended: subtle borders */
  --pp-cloud:         #F4F4F4;   /* extended: card / panel bg */
  --pp-paper:         #FAFAFA;   /* extended: page bg */
  --pp-white:         #FFFFFF;   /* lt1 */

  /* Semantic: derived from palette + minimal support colors */
  --pp-success:       #4A7A2E;   /* muted olive (harmonizes w/ yellow) */
  --pp-warning:       #D9A800;   /* yellow-deep */
  --pp-danger:        #C8352C;   /* industrial red, kept minimal */
  --pp-info:          #555555;   /* slate: stays neutral */

  /* --------------------------------------------------------
     SEMANTIC TOKENS: FOREGROUND / BACKGROUND / BORDER
     -------------------------------------------------------- */
  --fg-1:             var(--pp-ink);      /* primary text */
  --fg-2:             var(--pp-slate);    /* secondary text */
  --fg-3:             var(--pp-steel);    /* tertiary / meta */
  --fg-muted:         var(--pp-mist);     /* disabled */
  --fg-on-yellow:     var(--pp-ink);      /* text on yellow bg */
  --fg-on-dark:       var(--pp-white);
  --fg-accent:        var(--pp-amber-ink); /* links, eyebrows: readable amber ink, not the low-contrast bright amber */

  --bg-page:          var(--pp-white);
  --bg-subtle:        var(--pp-paper);
  --bg-panel:         var(--pp-cloud);
  --bg-dark:          var(--pp-ink);
  --bg-dark-elevated: var(--pp-graphite);
  --bg-accent:        var(--pp-yellow);
  --bg-accent-soft:   var(--pp-yellow-wash);

  --border-subtle:    var(--pp-fog);
  --border-default:   var(--pp-mist);
  --border-strong:    var(--pp-ink);

  /* --------------------------------------------------------
     TYPOGRAPHY
     Barlow Semi Condensed: major: ExtraBold (800), minor: Light (300)
     -------------------------------------------------------- */
  --font-display:     'Barlow Semi Condensed', 'Barlow', 'Arial Narrow', sans-serif;
  --font-body:        'Barlow Semi Condensed', 'Barlow', 'Arial Narrow', sans-serif;
  --font-mono:        'JetBrains Mono', 'Fira Mono', 'SF Mono', Menlo, monospace;

  --fw-light:         300;
  --fw-regular:       400;
  --fw-medium:        500;
  --fw-semibold:      600;
  --fw-bold:          700;
  --fw-extrabold:     800;
  --fw-black:         900;

  /* Scale: industrial / headline-forward, tight tracking */
  --fs-display:       72px;
  --fs-h1:            56px;
  --fs-h2:            40px;
  --fs-h3:            28px;
  --fs-h4:            22px;
  --fs-body-lg:       18px;
  --fs-body:          16px;
  --fs-body-sm:       14px;
  --fs-caption:       12px;
  --fs-micro:         11px;

  --lh-tight:         1.05;
  --lh-snug:          1.2;
  --lh-normal:        1.5;
  --lh-loose:         1.7;

  --tracking-tight:   -0.02em;
  --tracking-normal:  0;
  --tracking-wide:    0.04em;
  --tracking-wider:   0.12em;   /* used on ALL-CAPS eyebrows */

  /* --------------------------------------------------------
     SPACING: 4px base grid
     -------------------------------------------------------- */
  --space-0:  0;
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  24px;
  --space-6:  32px;
  --space-7:  48px;
  --space-8:  64px;
  --space-9:  96px;
  --space-10: 128px;

  /* --------------------------------------------------------
     RADII: industrial, minimal rounding
     -------------------------------------------------------- */
  --radius-none:  0;
  --radius-xs:    2px;
  --radius-sm:    4px;
  --radius-md:    6px;
  --radius-lg:    10px;
  --radius-pill:  999px;

  /* --------------------------------------------------------
     SHADOWS: clean, architectural; no colored glow
     -------------------------------------------------------- */
  --shadow-xs:  0 1px 1px rgba(31, 31, 31, 0.04);
  --shadow-sm:  0 1px 2px rgba(31, 31, 31, 0.06), 0 1px 1px rgba(31,31,31,0.04);
  --shadow-md:  0 4px 10px rgba(31, 31, 31, 0.08), 0 1px 2px rgba(31,31,31,0.05);
  --shadow-lg:  0 12px 28px rgba(31, 31, 31, 0.10), 0 2px 6px rgba(31,31,31,0.06);
  --shadow-xl:  0 24px 48px rgba(31, 31, 31, 0.14), 0 4px 10px rgba(31,31,31,0.08);
  --shadow-inset: inset 0 0 0 1px rgba(31,31,31,0.08);

  /* --------------------------------------------------------
     MOTION
     -------------------------------------------------------- */
  --ease-standard:  cubic-bezier(0.2, 0.0, 0.2, 1);
  --ease-emphatic:  cubic-bezier(0.2, 0.0, 0, 1);
  --ease-exit:      cubic-bezier(0.4, 0.0, 1, 1);
  --dur-fast:    120ms;
  --dur-base:    200ms;
  --dur-slow:    320ms;
}

/* ============================================================
   BASE TYPE RESETS + SEMANTIC CLASSES
   ============================================================ */

body, .pp-body {
  font-family: var(--font-body);
  font-weight: var(--fw-regular);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  color: var(--fg-1);
  background: var(--bg-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.pp-display {
  font-family: var(--font-display);
  font-weight: var(--fw-extrabold);
  font-size: var(--fs-display);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  text-transform: uppercase;
}

h1, .pp-h1 {
  font-family: var(--font-display);
  font-weight: var(--fw-extrabold);
  font-size: var(--fs-h1);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  text-transform: uppercase;
  color: var(--fg-1);
  margin: 0;
}

h2, .pp-h2 {
  font-family: var(--font-display);
  font-weight: var(--fw-extrabold);
  font-size: var(--fs-h2);
  line-height: var(--lh-snug);
  letter-spacing: var(--tracking-tight);
  text-transform: uppercase;
  color: var(--fg-1);
  margin: 0;
}

h3, .pp-h3 {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: var(--fs-h3);
  line-height: var(--lh-snug);
  color: var(--fg-1);
  margin: 0;
}

h4, .pp-h4 {
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-h4);
  line-height: var(--lh-snug);
  color: var(--fg-1);
  margin: 0;
}

p, .pp-body-text {
  font-family: var(--font-body);
  font-weight: var(--fw-regular);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  color: var(--fg-1);
  margin: 0;
  text-wrap: pretty;
}

.pp-lead {
  font-size: var(--fs-body-lg);
  font-weight: var(--fw-light);
  line-height: var(--lh-normal);
  color: var(--fg-2);
}

.pp-eyebrow {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: var(--fs-caption);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--fg-accent);
}

.pp-caption {
  font-size: var(--fs-caption);
  color: var(--fg-3);
  line-height: var(--lh-snug);
}

code, .pp-code {
  font-family: var(--font-mono);
  font-size: 0.92em;
  background: var(--bg-panel);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  color: var(--fg-1);
}

a, .pp-link {
  color: var(--fg-accent);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color var(--dur-base) var(--ease-standard),
              color var(--dur-base) var(--ease-standard);
}
a:hover, .pp-link:hover {
  color: var(--pp-yellow-deep);
  border-bottom-color: currentColor;
}
