/*
 * UPUBLIC design system tokens, ported verbatim from the design handoff
 * (_ds/upublic-design-system-.../tokens/*.css) — colours, type, spacing,
 * radius/shadow — plus the base element styles from its styles.css.
 * Kept as one file rather than several, since Propshaft doesn't
 * preprocess CSS @import across fingerprinted assets.
 */
@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@300;400;500;600&display=swap');

:root{
  --white:#FFFFFF;
  --canvas:#F0F2F2;
  --line:#D9DCDD;
  --muted:#6B7274;
  --ink:#23282A;
  --green:#267218;
  --green-light:#3B8F27;
  --hub-green:#79BF0F;
  --hub-green-dark:#5C9209;
  --gold:#BFA13B;
  --steel:#3D6E8F;
  --steel-light:#6B93AD;
  --surface-canvas:var(--canvas);
  --surface-card:var(--white);
  --surface-sunken:#E7EAEA;
  --border-default:var(--line);
  --border-strong:var(--muted);
  --text-primary:var(--ink);
  --text-muted:var(--muted);
  --text-inverse:var(--white);
  --brand-upublic:var(--green);
  --brand-upublic-hover:var(--green-light);
  --brand-hub:var(--hub-green);
  --brand-hub-hover:var(--hub-green-dark);
  --accent-warm:var(--gold);
  --accent-cool:var(--steel);
  --link:var(--steel);
  --link-hover:#2E5670;
  --focus-ring:var(--steel);
  --success:var(--green);
  --warning:var(--gold);
  --info:var(--steel);
  --danger:#B23A2E;

  --font-family:'League Spartan',-apple-system,BlinkMacSystemFont,sans-serif;
  --weight-light:300;
  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;
  --text-h1:52px;
  --text-h1-weight:var(--weight-medium);
  --text-h1-lh:1.1;
  --text-h2:32px;
  --text-h2-weight:var(--weight-light);
  --text-h2-lh:1.2;
  --text-h2-transform:uppercase;
  --text-h2-tracking:0.02em;
  --text-h3:20px;
  --text-h3-weight:var(--weight-medium);
  --text-h3-lh:1.3;
  --text-h3-transform:uppercase;
  --text-h3-tracking:0.02em;
  --text-eyebrow:12px;
  --text-eyebrow-weight:var(--weight-semibold);
  --text-eyebrow-transform:uppercase;
  --text-eyebrow-tracking:0.08em;
  --text-body:16px;
  --text-body-weight:var(--weight-regular);
  --text-body-lh:1.6;
  --text-caption:12.5px;
  --text-caption-weight:var(--weight-medium);
  --text-caption-lh:1.4;

  --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;
  --container-max:1200px;

  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:16px;
  --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(35,40,42,0.06);
  --shadow-md:0 4px 16px rgba(35,40,42,0.08);
  --shadow-lg:0 12px 32px rgba(35,40,42,0.12);
  --ease-standard:cubic-bezier(.4,0,.2,1);
  --duration-fast:120ms;
  --duration-base:200ms;
  --duration-slow:320ms;
}

*{box-sizing:border-box}
body{margin:0;font-family:var(--font-family);color:var(--text-primary);background:var(--surface-canvas);line-height:var(--text-body-lh);font-size:var(--text-body)}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover);text-decoration:underline}
h1,h2,h3{margin:0 0 var(--space-3);font-weight:var(--weight-semibold)}
p{margin:0 0 var(--space-3)}
