@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400;14..32,500;14..32,600;14..32,700;14..32,800&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{
  --font-display:'Inter',ui-sans-serif,system-ui,sans-serif;
  --font-body:'Inter',ui-sans-serif,system-ui,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
}

:root{
  /* Primary: deep blue, main ground of the site (backgrounds, hero, footer) */
  --navy-950:#050D1A;
  --navy-900:#0E2247;
  --navy-800:#173463;
  --navy-700:#1F4480;
  --navy-600:#2E5798;
  --navy-500:#4570B0;

  /* Accent: orange, the brand's signature color (buttons, CTAs, active states) */
  --orange-800:#7E3D09;
  --orange-700:#A8500E;
  --orange-600:#EE7F2B;
  --orange-500:#F49B52;
  --orange-400:#F8B87D;
  --orange-100:#FDEBDA;

  /* Category accents: event-type tags, section dividers, schedule blocks */
  --rose-600:#C81E63;
  --rose-500:#E23A7C;
  --violet-600:#5B3B8C;
  --violet-500:#7A57AD;
  --teal-600:#127A7A;
  --teal-500:#1B9B9B;
  --amber-600:#C96A1F;
  --amber-500:#E0862F;
  --gold-600:#B08A1E;
  --gold-500:#D4A82C;

  /* Neutrals */
  --ink:#0C1216;
  --gray-900:#1B2226;
  --gray-700:#3D484E;
  --gray-500:#6B767C;
  --gray-300:#A9B2B7;
  --gray-200:#D3D9DC;
  --gray-100:#E9EDEF;
  --gray-50:#F5F7F8;
  --white:#FFFFFF;

  /* Semantic */
  --bg-page:var(--white);
  --bg-sunken:var(--gray-50);
  --bg-inverse:var(--navy-900);
  --surface-card:var(--white);
  --surface-card-inverse:var(--navy-800);
  --border-default:var(--gray-200);
  --border-strong:var(--gray-300);
  --border-inverse:rgba(255,255,255,0.16);

  --text-primary:var(--ink);
  --text-secondary:var(--gray-700);
  --text-muted:var(--gray-500);
  --text-on-dark:var(--white);
  --text-on-dark-muted:rgba(255,255,255,0.68);
  --text-link:var(--orange-700);
  --text-link-hover:var(--orange-800);

  --brand-primary:var(--orange-700);
  --brand-primary-hover:var(--orange-800);
  --brand-primary-active:var(--orange-800);
  --focus-ring:var(--orange-500);

  --status-success:#1B7A4D;
  --status-success-bg:#E6F4EC;
  --status-warning:#B0740F;
  --status-warning-bg:#FBF0DC;
  --status-error:#C7263A;
  --status-error-bg:#FBE7E9;
  --status-info:var(--navy-700);
  --status-info-bg:#E7EEF0;
}

:root{
  --text-xs:0.75rem;
  --text-sm:0.875rem;
  --text-base:1rem;
  --text-lg:1.125rem;
  --text-xl:1.25rem;
  --text-2xl:1.5rem;
  --text-3xl:1.875rem;
  --text-4xl:2.375rem;
  --text-5xl:3rem;
  --text-6xl:3.75rem;

  --leading-tight:1.1;
  --leading-snug:1.3;
  --leading-normal:1.5;
  --leading-relaxed:1.65;

  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;
  --weight-bold:700;

  --tracking-tight:-0.02em;
  --tracking-normal:0;
  --tracking-wide:0.04em;
  --tracking-widest:0.12em;
}
body{font-family:var(--font-body);color:var(--text-primary);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.font-display{font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}
a{color:var(--text-link);text-decoration:none}
a:hover{color:var(--text-link-hover);text-decoration:underline}

:root{
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --space-20:80px;
  --space-24:96px;
  --space-32:128px;

  --radius-sm:4px;
  --radius-md:8px;
  --radius-lg:14px;
  --radius-xl:20px;
  --radius-pill:999px;

  --container-max:1200px;
}

:root{
  --shadow-sm:0 1px 2px rgba(12,18,22,0.06);
  --shadow-md:0 4px 12px rgba(12,18,22,0.10);
  --shadow-lg:0 12px 32px rgba(12,18,22,0.16);
  --shadow-inset:inset 0 1px 0 rgba(255,255,255,0.06);

  --ease-standard:cubic-bezier(0.4,0,0.2,1); /* @kind other */
  --duration-fast:120ms; /* @kind other */
  --duration-base:200ms; /* @kind other */
  --duration-slow:320ms; /* @kind other */

  --gradient-navy:linear-gradient(135deg,var(--navy-950) 0%,var(--navy-800) 100%);
  --gradient-category:linear-gradient(135deg,var(--rose-600) 0%,var(--violet-600) 100%);
}
*{box-sizing:border-box}
body{margin:0}

