@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap");
@font-face{font-family:"Oswald";src:url("../assets/fonts/Oswald-VariableFont_wght.ttf") format("truetype");font-weight:200 700;font-style:normal;font-display:swap;}
/* PissCancerOff — color tokens. Source: bladder cancer awareness ribbon (marigold / blue / purple). */
:root{
--pco-marigold:#F2A900;
--pco-navy:#1F3A93;
--pco-purple:#6A2C91;
--pco-ink:#111827;
--pco-gray:#5B6273;
--pco-line:#D9DCE3;
--pco-paper:#FFFFFF;
--pco-paper-2:#F7F5EF;
--pco-navy-deep:#14265F;
--pco-blue-on-dark:#5B85F0;
--pco-purple-on-dark:#A46BE0;
--color-bg:var(--pco-paper);
--color-bg-alt:var(--pco-paper-2);
--color-text:var(--pco-ink);
--color-text-muted:var(--pco-gray);
--color-heading:var(--pco-navy);
--color-primary:var(--pco-navy);
--color-accent:var(--pco-marigold);
--color-accent-2:var(--pco-purple);
--color-border:var(--pco-line);
--color-surface-dark:var(--pco-navy-deep);
--color-text-on-dark:var(--pco-paper);
--color-track:#E9EBF0;
--color-focus:var(--pco-navy);
--btn-donate-bg:var(--pco-marigold);
--btn-donate-text:var(--pco-ink);
--btn-donate-hover:#D99700;
--btn-secondary-bg:var(--pco-navy);
--btn-secondary-text:var(--pco-paper);
--btn-secondary-hover:var(--pco-navy-deep);
}
/* Contrast reference (WCAG 2.x)
   navy on white 10.1 ✔ · ink on white 17.7 ✔ · gray on white 6.1 ✔ · purple on white 8.8 ✔
   white on navy 10.1 ✔ · white on navy-deep 14.3 ✔ · ink on marigold 8.8 ✔
   marigold on navy 5.0 ✔ large text only · marigold on navy-deep 7.1 ✔
   marigold on white 2.0 ✘ · white on marigold 2.0 ✘ */

:root{
--font-display:"Oswald","Arial Narrow",sans-serif;
--font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
--text-hero:64px;--text-hero-mobile:40px;--lh-hero:1.05;/* @kind font */
--text-bignum:96px;--text-bignum-mobile:56px;--lh-bignum:1;/* @kind font */
--text-h2:36px;--text-h2-mobile:28px;--lh-h2:1.15;/* @kind font */
--text-h3:24px;--text-h3-mobile:20px;--lh-h3:1.25;/* @kind font */
--text-body:18px;--text-body-mobile:17px;--lh-body:1.55;/* @kind font */
--text-button:17px;
--text-caption:14px;--lh-caption:1.45;/* @kind font */
--weight-display-bold:700;--weight-display-semibold:600;
--weight-body:400;--weight-body-medium:500;--weight-body-semibold:600;
--measure:70ch;
}

:root{
--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:40px;--space-6:48px;--space-8:64px;--space-10:80px;
--section-pad:64px;--section-pad-mobile:40px;
--width-text:720px;--width-hero:1100px;
--radius:6px;--radius-bar:4px;
--shadow-card:0 2px 6px rgba(0,0,0,.08);
--focus-ring:2px solid var(--pco-navy);--focus-offset:2px;
--btn-height:48px;--btn-pad-x:24px;
--progress-height:14px;
--ease:cubic-bezier(.2,.7,.2,1);/* @kind other */
--dur:150ms;/* @kind other */
}

body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:var(--font-display);color:var(--color-heading);margin:0;letter-spacing:0;}
p{margin:0;}
a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px;}
a:hover{color:var(--pco-navy-deep);}
:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);}

html{scroll-behavior:smooth}#root{min-height:100vh}