:root {
  --navy: #0e2a43;
  --navy-dark: #081b2c;
  --navy-light: #163d5e;
  --blue: #1f6fb2;
  --accent: #f0a020;
  --accent-dark: #d3870d;
  --green: #2f9e64;
  --bg: #f6f8fb;
  --white: #ffffff;
  --text: #1c2b3a;
  --muted: #5b6b7b;
  --border: #e3e8ee;

  --shadow: 0 10px 30px rgba(14, 42, 67, 0.08);
  --shadow-sm: 0 4px 14px rgba(14, 42, 67, 0.08);

  --radius: 14px;
  --radius-sm: 8px;

  --max-width: 1180px;

  --font-head: "Poppins", "Segoe UI", system-ui, sans-serif;
  --font-body: "Inter", "Segoe UI", system-ui, sans-serif;

  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast: 0.15s;
  --dur: 0.25s;
  --dur-slow: 0.4s;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
  font-family: var(--font-head);
  color: var(--navy);
  line-height: 1.25;
  margin: 0 0 0.6em;
}
h1 { font-size: clamp(2rem, 4.2vw, 3rem); font-weight: 700; }
h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 700; }
h3 { font-size: 1.25rem; font-weight: 600; }

p { margin: 0 0 1em; color: var(--text); }

a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }

img, svg { max-width: 100%; display: block; }
ul { padding-left: 1.2em; }

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 20px;
}
