/* =========================================================
   ZYVORA LLC — Design Tokens
   A ledger-inspired palette drawn from the brand mark:
   deep reconciliation-blue, growth-green, and paper neutrals.
   ========================================================= */

:root{
  /* ---- Brand colors ---- */
  --navy-900:#06213F;   /* deepest ink — footer, high-contrast text */
  --navy-800:#0A3D73;   /* primary brand blue (from logo) */
  --navy-700:#124A87;
  --navy-600:#1B5DA3;
  --blue-500:#3E82C7;   /* secondary blue (from logo bars) */
  --blue-100:#E7F0FA;

  --green-600:#4C8A1F;
  --green-500:#5EA324;  /* growth-arrow accent (from logo) */
  --green-100:#EAF4DE;

  /* ---- Neutrals (cool paper, not cream) ---- */
  --paper-0:#FFFFFF;
  --paper-50:#F6F8FB;
  --paper-100:#EEF2F7;
  --paper-200:#E2E8F0;
  --line-200:#DCE3EC;
  --ink-900:#101826;
  --ink-700:#2B3648;
  --ink-500:#5B6779;
  --ink-300:#8B96A6;

  /* ---- Semantic ---- */
  --bg:            var(--paper-50);
  --surface:       var(--paper-0);
  --surface-alt:   var(--paper-100);
  --text-primary:  var(--ink-900);
  --text-secondary:var(--ink-500);
  --text-on-dark:  #F3F6FB;
  --text-on-dark-muted: #AAB8CC;
  --border:        var(--line-200);
  --brand:         var(--navy-800);
  --brand-dark:    var(--navy-900);
  --accent:        var(--green-500);

  /* ---- Typography ---- */
  --font-display:'Sora', 'Segoe UI', Arial, sans-serif;
  --font-body:'Inter', 'Segoe UI', Arial, sans-serif;
  --font-mono:'IBM Plex Mono', 'Courier New', monospace;

  /* ---- Radius / shadow / spacing ---- */
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:22px;
  --radius-pill:999px;

  --shadow-sm: 0 1px 2px rgba(10,20,40,.06), 0 1px 1px rgba(10,20,40,.04);
  --shadow-md: 0 8px 24px rgba(10,32,63,.10);
  --shadow-lg: 0 20px 48px rgba(10,32,63,.16);

  --container: 1200px;
  --header-h: 84px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text-primary);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:var(--font-display); margin:0; color:var(--ink-900); line-height:1.15; letter-spacing:-0.01em; }
p{ margin:0; }
button{ font-family:inherit; }

:focus-visible{
  outline:2.5px solid var(--green-500);
  outline-offset:3px;
  border-radius:4px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}
