html { scroll-behavior: smooth; }
body { font-family: 'Inter', ui-sans-serif, system-ui, sans-serif; }

:root {
  --brand-blue: #2586AE;
  --brand-blue-dark: #1E6E90;
  --brand-green: #32A83A;
  --brand-green-dark: #268A2D;
}

.brand-gradient { background: linear-gradient(135deg, #2586AE 0%, #32A83A 100%); }
.brand-gradient-soft { background: linear-gradient(135deg, rgba(37,134,174,0.08) 0%, rgba(50,168,58,0.08) 100%); }
.brand-gradient-text { background-image: linear-gradient(90deg, #2586AE, #32A83A); -webkit-background-clip: text; background-clip: text; color: transparent; }

.text-brand-blue { color: #2586AE; }
.text-brand-green { color: #32A83A; }
.bg-brand-blue { background-color: #2586AE; }
.bg-brand-green { background-color: #32A83A; }
.bg-brand-blue\/10 { background-color: rgba(37,134,174,0.1); }
.bg-brand-green\/10 { background-color: rgba(50,168,58,0.1); }
.border-brand-blue { border-color: #2586AE; }
.border-brand-green { border-color: #32A83A; }

.btn-primary {
  background-color: #2586AE;
  color: #ffffff;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
  display: inline-flex;
}
.btn-primary:hover { background-color: #1E6E90; box-shadow: 0 10px 25px -10px rgba(37,134,174,0.55); transform: translateY(-1px); }

.btn-outline {
  background-color: transparent;
  color: #2586AE;
  border: 2px solid #2586AE;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
  display: inline-flex;
}
.btn-outline:hover { background-color: #2586AE; color: #ffffff; transform: translateY(-1px); }

.link-underline { position: relative; }
.link-underline::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -4px;
  height: 2px; background: linear-gradient(90deg, #2586AE, #32A83A);
  transform: scaleX(0); transform-origin: left; transition: transform .3s ease;
}
.link-underline:hover::after { transform: scaleX(1); }

.card-hover { transition: transform .3s ease, box-shadow .3s ease; }
.card-hover:hover { transform: translateY(-6px); box-shadow: 0 20px 40px -20px rgba(15,42,58,.25); }

.fade-in { animation: fadeIn .7s ease both; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(12px);} to { opacity: 1; transform: translateY(0);} }

.section-title { font-family: 'Poppins', sans-serif; letter-spacing: -0.02em; }

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* simple toast */
#toast-wrap { position: fixed; top: 1rem; right: 1rem; z-index: 100; display: flex; flex-direction: column; gap: .5rem; }
.toast-box {
  background: white; border: 1px solid #e2e8f0; border-radius: .75rem;
  box-shadow: 0 20px 40px -20px rgba(15,42,58,.35); padding: .9rem 1.1rem;
  min-width: 260px; max-width: 340px; animation: toastIn .25s ease both;
}
.toast-box .t-title { font-weight: 600; font-size: .875rem; color: #0f172a; }
.toast-box .t-desc { font-size: .8rem; color: #64748b; margin-top: .2rem; }
@keyframes toastIn { from { opacity: 0; transform: translateX(20px);} to { opacity:1; transform: translateX(0);} }
