:root {
  --dark: #0b1220;
  --light: #f8fafc;
  --accent: #2563eb;
  --text: #0f172a;
  --muted: #475569;
  --border: #e5e7eb;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, sans-serif;
  color: var(--text);
  background: var(--light);
  line-height: 1.7;
}

header {
  background: linear-gradient(135deg, #0b1220, #111827);
  color: white;
  padding: 5rem 2rem 4rem;
}

header h1 { font-size: 2.8rem; max-width: 1000px; margin: auto; }
header p { max-width: 900px; margin: 1rem auto 0; font-size:1.15rem; opacity:0.95; }

section { padding: 4.5rem 2rem; border-bottom: 1px solid var(--border); }
.container { max-width: 1150px; margin: auto; }

h2 { font-size: 2.2rem; margin-bottom: 1rem; }
h3 { margin-top:0; }

nav { background:#0b1220;color:white;padding:1rem;text-align:center; }
nav a { color:white;margin:0 1rem;text-decoration:none; }

.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px,1fr)); gap:2rem; margin-top:2rem; }
.card, .case { background:white; border:1px solid var(--border); border-radius:10px; padding:2rem; margin-bottom:2rem; }
.block { background:#f8fafc; border-left:5px solid var(--accent); padding:1.4rem; }

.highlight, .box { background:#f1f5f9; border-left:6px solid var(--accent); padding:2rem; margin-top:2rem; }

footer { background: var(--dark); color:#cbd5f5; text-align:center; padding:3rem 2rem; font-size:0.9rem; }

/* Print/PDF */
@media print {
  header, footer { page-break-after: avoid; }
  section, .case { page-break-inside: avoid; }
}
