:root {
  --ink: #10283c;
  --ink-soft: #3d5368;
  --teal: #128f98;
  --teal-deep: #0c6e76;
  --mint: #d8f4f2;
  --sand: #f6f8f9;
  --line: #e4ecee;
}
html { scroll-behavior: smooth; }
body { font-family: "Manrope", system-ui, sans-serif; color: var(--ink); }
.nav-link { position: relative; }
.nav-link::after {
  content: "";
  position: absolute;
  left: 0; bottom: -4px;
  width: 0; height: 2px;
  background: var(--teal);
  transition: width .25s ease;
}
.nav-link:hover::after, .nav-link.active::after { width: 100%; }
.hero-shade {
  background: linear-gradient(100deg, rgba(10,24,38,.78), rgba(10,24,38,.35));
}
.card-lift { transition: transform .28s ease, box-shadow .28s ease; }
.card-lift:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(16,40,60,.12); }
.menu-open { transform: translateX(0) !important; }
input, textarea, select {
  width: 100%;
  border: 1px solid #d5e2e4;
  border-radius: 12px;
  padding: 12px 14px;
  outline: none;
  background: #fff;
}
input:focus, textarea:focus, select:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(18,143,152,.15); }
.ok { display: none; }
