/* Theme made by Tekitisy from the site's design tokens */
:root {
  --color-primary: #1d5fa8;
  --color-secondary: #4aa3df;
  --color-accent: #e5484d;
  --color-dark: #17243a;
  --color-background: #ffffff;
  --color-surface: #f4f7fa;
  --color-border: #d0d9e5;
  --color-text: #485b6e;
  --color-heading: #17243a;
  --color-success: #1f9d55;
  --font-heading: 'Montserrat', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --font-size: 16px;
  --line-height: 1.6;
  --heading-weight: 700;
  --heading-spacing: -0.01em;
  --h1: 2.441rem;
  --h2: 1.953rem;
  --h3: 1.562rem;
  --h4: 1.250rem;
  --space: 8px;
  --container: 1200px;
  --section: 80px;
  --radius: 12px;
  --shadow: 0 2px 8px rgba(15, 23, 42, .06);
  --button-radius: 10px;
  --button-height: 46px;
  --button-padding: 24px;
  --button-weight: 600;
  --button-transform: none;
}

body { background: var(--color-background); color: var(--color-text); font-family: var(--font-body); font-size: var(--font-size); line-height: var(--line-height); }
body :is(h1, h2, h3, h4) { margin: 0 0 calc(var(--space) * 2); color: var(--color-heading); font-family: var(--font-heading); font-weight: var(--heading-weight); letter-spacing: var(--heading-spacing); line-height: 1.2; }
body h1 { font-size: var(--h1); } body h2 { font-size: var(--h2); } body h3 { font-size: var(--h3); } body h4 { font-size: var(--h4); }
body p { margin: 0 0 calc(var(--space) * 2); }
body a { color: var(--color-primary); }
body .container { width: min(var(--container), 100% - calc(var(--space) * 4)); margin-inline: auto; }
body .section { padding-block: var(--section); }
body .section-alt { background: var(--color-surface); }
body .btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space); min-height: var(--button-height); padding: 0 var(--button-padding); border: 2px solid var(--color-primary); border-radius: var(--button-radius); background: var(--color-primary); color: #fff; font-family: var(--font-body); font-size: 1rem; font-weight: var(--button-weight); text-decoration: none; text-transform: var(--button-transform); cursor: pointer; }
body .btn:hover { filter: brightness(1.08); }
body .btn-secondary { background: transparent; color: var(--color-primary); }
body .btn-secondary.btn-soft { border-color: transparent; background: color-mix(in srgb, var(--color-primary) 12%, transparent); }
body .btn-secondary.btn-ghost { border-color: transparent; }
body .btn-accent { border-color: var(--color-accent); background: var(--color-accent); }
body .field { width: 100%; min-height: var(--button-height); padding: 0 calc(var(--space) * 2); border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-background); color: var(--color-heading); font: inherit; }
body .field:focus { border-color: var(--color-primary); outline: 2px solid color-mix(in srgb, var(--color-primary) 25%, transparent); }
body .card { overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-background); box-shadow: var(--shadow); }
body .card-body { padding: calc(var(--space) * 3); }
body .badge { display: inline-block; padding: 2px var(--space); border-radius: 999px; background: color-mix(in srgb, var(--color-success) 14%, transparent); color: var(--color-success); font-size: .85em; font-weight: 600; }
