
/* Base */
:root {
  --brand: #0369a1;
  --brand-dark: #075985;
  --ring: rgba(2,132,199,.35);
}
html { scroll-behavior: smooth; }
.nav-link { color:#0f172a; }
.nav-link:hover { color: var(--brand); }
.nav-link.active { color: var(--brand); }
.btn-primary {
  background: var(--brand);
  color: #fff;
  padding: .625rem 1rem;
  border-radius: .5rem;
  font-weight: 600;
  display: inline-flex; align-items:center; justify-content:center;
}
.btn-primary:hover { background: var(--brand-dark); }
.btn-ghost {
  border: 1px solid #cbd5e1;
  color: #0f172a;
  padding: .625rem 1rem;
  border-radius: .5rem;
  font-weight: 600;
}
.footer-link { color:#cbd5e1; }
.footer-link:hover { color:#fff; text-decoration: underline; }
.form-label { display:block; font-weight:600; margin-bottom:.25rem; }
.form-input {
  width:100%;
  border:1px solid #cbd5e1;
  border-radius:.5rem;
  padding:.625rem .75rem;
  outline: none;
}
.form-input:focus { border-color:#0284c7; box-shadow: 0 0 0 3px var(--ring); }
.service-card { background:#fff; border:1px solid #e2e8f0; border-radius: .75rem; padding:1rem; }
.cookie-banner {
  position: fixed; bottom: 1rem; left: 1rem; right: 1rem;
  background: #0f172a; color: #e2e8f0;
  border-radius: .75rem; padding: 1rem;
  z-index: 60; box-shadow: 0 10px 30px rgba(2,8,23,.35);
}
.cookie-content a { color:#38bdf8; }
.hidden { display:none; }
/* Prose tweaks */
.prose .lead { font-size: 1.125rem; }
