/* KoraSafe redesign theme tokens — generated from the paired Light/Dark design exports.
   Default (and [data-theme="dark"]) = dark palette; [data-theme="light"] = light palette.
   theme.js applies data-theme (system|light|dark) on <html>. */
:root,
[data-theme="dark"] {
  --ks-c01: #0a0e1c;
  --ks-c02: #9db4f2;
  --ks-c03: #f7f8fa;
  --ks-c04: #0a0e1c;
  --ks-c05: #2547d0;
  --ks-c06: #ffffff;
  --ks-c07: #f7f8fa;
  --ks-c08: rgba(10,14,28,0.85);
  --ks-c09: rgba(247,248,250,0.1);
  --ks-c10: #ffffff;
  --ks-c11: rgba(247,248,250,0.7);
  --ks-c12: #2547d0;
  --ks-c13: rgba(247,248,250,0.65);
  --ks-c14: #1d3aae;
  --ks-c15: rgba(247,248,250,0.25);
  --ks-c16: rgba(247,248,250,0.18);
  --ks-c17: rgba(247,248,250,0.5);
  --ks-c18: #0f1530;
  --ks-c19: #9db4f2;
  --ks-c20: rgba(247,248,250,0.6);
  --ks-c21: rgba(157,180,242,0.22);
  --ks-c22: rgba(247,248,250,0.45);
  --ks-c23: rgba(157,180,242,0.25);
  --ks-c24: rgba(125,150,245,0.04);
  --ks-c25: rgba(125,150,245,0);
  --ks-c26: rgba(125,150,245,0.07);
  --ks-c27: rgba(125,150,245,0.22);
  --ks-c28: rgba(247,248,250,0.09);
  --ks-c29: rgba(247,248,250,0.35);
  --ks-c30: rgba(247,248,250,0.6);
  --ks-c31: rgba(247,248,250,0.65);
  --ks-c32: #0a0e1c;
  --ks-c33: rgba(247,248,250,0.35);
  --ks-c34: rgba(157,180,242,0.18);
  --ks-c35: rgba(247,248,250,0.4);
  --ks-c36: rgba(247,248,250,0.55);
  --ks-c37: rgba(247,248,250,0.14);
  --ks-c38: #131b38;
  --ks-c39: rgba(247,248,250,0.08);
  --ks-c40: rgba(247,248,250,0.12);
  --ks-c41: rgba(247,248,250,0.45);
  --ks-c42: rgba(247,248,250,0.8);
  --ks-c43: #1b2658;
  --ks-c44: #0e1430;
  --ks-c45: #34d399;
  --ks-c46: rgba(157,180,242,0.2);
  --ks-c47: #6e8df2;
  --ks-c48: #a9b2c8;
  --ks-c49: rgba(247,248,250,0.8);
  --ks-c50: rgba(157,180,242,0.85);
  --ks-c51: rgba(125,150,245,0.16);
  --ks-c52: #bcccf7;
  --ks-c53: rgba(157,180,242,1);
  --ks-c54: rgba(78,110,230,0.9);
  --ks-c55: rgba(248,113,113,0.9);
  --ks-c56: rgba(248,113,113,0.7);
  --ks-c57: rgba(248,113,113,0.95);
  --ks-c58: rgba(157,180,242,0.45);
  --ks-c59: rgba(10,14,28,0.92);
  --ks-c60: rgba(157,180,242,0.4);
  --ks-c61: rgba(247,248,250,0.55);
  --ks-c62: #f87171;
  --ks-c63: rgba(157,180,242,0.8);
  --ks-c64: #fbbf24;
  --ks-c65: rgba(52,211,153,0.14);
  --ks-c66: rgba(251,191,36,0.14);
  --ks-c67: rgba(52,211,153,0.4);
  --ks-c68: rgba(251,191,36,0.4);
  --ks-c69: rgba(52,211,153,0.12);
  --ks-c70: rgba(52,211,153,0.5);
  --ks-c71: rgba(248,113,113,0.12);
  --ks-c72: rgba(248,113,113,0.5);
  --ks-c73: rgba(10,14,28,0.6);
  --ks-c74: rgba(247,248,250,0.7);
  --ks-c75: rgba(78,110,230,0.5);
  --ks-c76: rgba(157,180,242,0.14);
  --ks-c77: rgba(78,110,230,0.35);
}
[data-theme="light"] {
  --ks-c01: #2547d0;
  --ks-c02: #2547d0;
  --ks-c03: #f7f8fa;
  --ks-c04: #f7f8fa;
  --ks-c05: #2547d0;
  --ks-c06: #ffffff;
  --ks-c07: #0f1530;
  --ks-c08: rgba(247,248,250,0.88);
  --ks-c09: rgba(15,21,48,0.1);
  --ks-c10: #f7f8fa;
  --ks-c11: rgba(15,21,48,0.7);
  --ks-c12: #0f1530;
  --ks-c13: rgba(15,21,48,0.65);
  --ks-c14: #1d3aae;
  --ks-c15: rgba(15,21,48,0.25);
  --ks-c16: rgba(15,21,48,0.18);
  --ks-c17: rgba(15,21,48,0.5);
  --ks-c18: #0f1530;
  --ks-c19: #9db4f2;
  --ks-c20: rgba(247,248,250,0.6);
  --ks-c21: rgba(157,180,242,0.22);
  --ks-c22: rgba(247,248,250,0.45);
  --ks-c23: rgba(157,180,242,0.25);
  --ks-c24: rgba(37,71,208,0.04);
  --ks-c25: rgba(37,71,208,0);
  --ks-c26: rgba(37,71,208,0.07);
  --ks-c27: rgba(37,71,208,0.22);
  --ks-c28: rgba(15,21,48,0.09);
  --ks-c29: rgba(15,21,48,0.35);
  --ks-c30: rgba(15,21,48,0.6);
  --ks-c31: rgba(247,248,250,0.65);
  --ks-c32: #0f1530;
  --ks-c33: rgba(247,248,250,0.35);
  --ks-c34: rgba(157,180,242,0.18);
  --ks-c35: rgba(247,248,250,0.4);
  --ks-c36: rgba(15,21,48,0.55);
  --ks-c37: rgba(15,21,48,0.14);
  --ks-c38: #ffffff;
  --ks-c39: rgba(15,21,48,0.08);
  --ks-c40: rgba(15,21,48,0.12);
  --ks-c41: rgba(15,21,48,0.45);
  --ks-c42: rgba(15,21,48,0.8);
  --ks-c43: #1b2658;
  --ks-c44: #0e1430;
  --ks-c45: #34d399;
  --ks-c46: rgba(157,180,242,0.2);
  --ks-c47: #6e8df2;
  --ks-c48: #a9b2c8;
  --ks-c49: rgba(247,248,250,0.8);
  --ks-c50: rgba(157,180,242,0.85);
  --ks-c51: rgba(37,71,208,0.16);
  --ks-c52: #bcccf7;
  --ks-c53: rgba(157,180,242,1);
  --ks-c54: rgba(78,110,230,0.9);
  --ks-c55: rgba(248,113,113,0.9);
  --ks-c56: rgba(248,113,113,0.7);
  --ks-c57: rgba(248,113,113,0.95);
  --ks-c58: rgba(157,180,242,0.45);
  --ks-c59: rgba(10,14,28,0.92);
  --ks-c60: rgba(157,180,242,0.4);
  --ks-c61: rgba(247,248,250,0.55);
  --ks-c62: #f87171;
  --ks-c63: rgba(157,180,242,0.8);
  --ks-c64: #fbbf24;
  --ks-c65: rgba(52,211,153,0.14);
  --ks-c66: rgba(251,191,36,0.14);
  --ks-c67: rgba(52,211,153,0.4);
  --ks-c68: rgba(251,191,36,0.4);
  --ks-c69: rgba(52,211,153,0.12);
  --ks-c70: rgba(52,211,153,0.5);
  --ks-c71: rgba(248,113,113,0.12);
  --ks-c72: rgba(248,113,113,0.5);
  --ks-c73: rgba(10,14,28,0.6);
  --ks-c74: rgba(247,248,250,0.7);
  --ks-c75: rgba(78,110,230,0.5);
  --ks-c76: rgba(157,180,242,0.14);
  --ks-c77: rgba(78,110,230,0.35);
}

/* Mobile — the design exports are desktop-only (fixed grids, 80-96px headings).
   Stack grids, fluid-scale headings, tighten section padding. Inline styles are
   overridden with !important; selectors only match the page content (the shared
   header/footer use classes, not inline grid/max-width, so they're untouched). */
@media (max-width: 768px) {
  [style*="max-width: 1240px"] { padding-left: 20px !important; padding-right: 20px !important; }
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; gap: 22px !important; }
  h1[style] { font-size: clamp(38px, 11.5vw, 58px) !important; line-height: 1.05 !important; }
  h2[style] { font-size: clamp(25px, 7vw, 34px) !important; line-height: 1.15 !important; }
  [style*="font-size: 60px"], [style*="font-size: 56px"], [style*="font-size: 52px"],
  [style*="font-size: 48px"], [style*="font-size: 44px"], [style*="font-size: 40px"] {
    font-size: clamp(24px, 7vw, 34px) !important; line-height: 1.18 !important;
  }
  [style*="padding: 110px"], [style*="padding: 120px"], [style*="padding: 130px"] {
    padding-top: 56px !important; padding-bottom: 44px !important;
  }
}
