/* ============================================================
   AFSS — Design Tokens
   Source: app/globals.css @theme inline block (AFSS Next.js project)
   ============================================================ */

:root {
  /* Colors — brand palette (NSW AFSS premium-document aesthetic) */
  --color-background: #ffffff;
  --color-foreground: #0b1d36;
  --color-ink: #0b1d36;
  --color-ink-muted: #3a4a63;
  --color-ink-soft: #5b6a82;
  --color-ink-faint: #93a0b4;
  --color-line: #e3e7ee;
  --color-line-soft: #eef1f6;
  --color-surface: #ffffff;
  --color-surface-alt: #f5f7fa;
  --color-surface-dark: #0b1d36;
  --color-surface-darker: #061226;

  /* Primary brand: navy */
  --color-navy: #0b1d36;
  --color-navy-2: #102b4f;
  --color-navy-3: #173a6a;

  /* Secondary brand: royal blue */
  --color-blue: #1c4d9c;
  --color-blue-2: #265fb6;
  --color-blue-soft: #e7eef9;

  /* Restrained accent red */
  --color-accent-red: #b0141f;
  --color-accent-red-deep: #7a0c14;

  /* Brand aliases */
  --color-brand: #1c4d9c;
  --color-brand-hover: #102b4f;
  --color-brand-deep: #0b1d36;
  --color-brand-soft: rgba(28, 77, 156, 0.08);
  --color-brand-softer: rgba(28, 77, 156, 0.04);
  --color-brand-gradient: linear-gradient(135deg, #0b1d36 0%, #1c4d9c 100%);
  --color-brand-text-gradient: linear-gradient(to right, #0b1d36, #1c4d9c);

  /* Typography */
  --font-sans: "Inter", "Helvetica Neue", Arial, system-ui, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;

  /* Layout tokens */
  --container-max: 1440px;
  --container-inner: 86rem;
  --container-pad: clamp(1rem, 4vw, 3rem);
  --container-pad-mobile: clamp(1rem, 5vw, 1.5rem);
  --section-y: clamp(4rem, 9vw, 7rem);
  --section-y-tight: clamp(2.5rem, 5vw, 4rem);

  /* Radius */
  --radius-card: 0.75rem;
  --radius-tag: 999px;
  --radius-input: 0.375rem;
  --radius-document: 0.25rem;

  /* Navbar */
  --navbar-logo-h: 4rem;
  --navbar-inner-h: calc(var(--navbar-logo-h) + 1.5rem);
  --navbar-topbar-h: 1.85rem;
  --navbar-spacer-h: calc(var(--navbar-topbar-h) + var(--navbar-inner-h));

  /* Shadows */
  --shadow-soft: 0 10px 40px rgba(11, 29, 54, 0.06);
  --shadow-soft-hover: 0 8px 25px rgba(28, 77, 156, 0.14);
  --shadow-card: 0 1px 2px rgba(11, 29, 54, 0.04), 0 6px 24px rgba(11, 29, 54, 0.06);
  --shadow-document: 0 1px 0 rgba(11, 29, 54, 0.08), 0 16px 40px rgba(11, 29, 54, 0.12);
  --shadow-navbar: 0 4px 12px rgba(11, 29, 54, 0.08);
  --shadow-navbar-hover: 0 14px 28px rgba(11, 29, 54, 0.22);
  --shadow-btn-primary: 0 1px 0 rgba(11, 29, 54, 0.04);
  --shadow-btn-primary-hover: 0 8px 20px rgba(11, 29, 54, 0.22);

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 300ms ease;
  --transition-reveal: 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* Mobile overrides */
@media (max-width: 767px) {
  :root {
    --container-pad: clamp(1rem, 5vw, 1.5rem);
    --section-y: clamp(2.5rem, 6vw, 4rem);
  }
}
