/* Global professional refinements */
:root {
  --fd-brand-50:#f0f7ff; --fd-brand-100:#dcebfe; --fd-brand-500:#0d7bd9; --fd-brand-600:#0563b3; --fd-brand-700:#054b85;
  --fd-accent:#ffb347; --fd-dark:#0b1824;
  --fd-radius-sm:6px; --fd-radius:12px; --fd-radius-lg:18px;
  --fd-transition:0.2s cubic-bezier(.4,0,.2,1);
  color-scheme:light;
}
html { scroll-behavior:smooth; }
body { font-family:'Poppins',ui-sans-serif,system-ui; }

/* Header + nav polish */
#topBar { backdrop-filter:blur(18px); background:rgba(255,255,255,.85); box-shadow:0 2px 8px -2px rgba(0,0,0,.08); }
#primaryNav a { font-weight:500; letter-spacing:.15px; }
#primaryNav a.nav-active { font-weight:600; }

/* Buttons */
.btn { display:inline-flex; align-items:center; gap:.5rem; font-weight:500; padding:.75rem 1.15rem; border-radius:var(--fd-radius); line-height:1.1; transition:var(--fd-transition); position:relative; }
.btn-primary { background:linear-gradient(135deg,var(--fd-brand-600),var(--fd-brand-500)); color:#fff; box-shadow:0 3px 8px -2px rgba(5,99,179,.4); }
.btn-primary:hover { filter:brightness(1.05); box-shadow:0 6px 18px -4px rgba(5,99,179,.45); transform:translateY(-2px); }
.btn-outline { background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.4); color:#fff; }
.btn-outline:hover { background:rgba(255,255,255,.25); }

/* Dropdown */
#loginDropdownMenu { box-shadow:0 10px 28px -8px rgba(0,0,0,.22), 0 2px 6px -2px rgba(0,0,0,.12); border-radius:16px; overflow:hidden; }
#loginDropdownMenu a { font-size:.82rem; }
#loginDropdownMenu hr { border-color:#f2f4f7; }

/* Hero improvements */
#hero h1 { text-shadow:0 4px 18px rgba(0,0,0,.35); }
.partner-card { background:rgba(255,255,255,.92); backdrop-filter:blur(6px); }

/* Cards (generic) */
.card { background:#fff; border:1px solid #e6eef5; border-radius:20px; padding:1.1rem 1.25rem; box-shadow:0 4px 14px -4px rgba(16,59,95,.15); transition:var(--fd-transition); }
.card:hover { box-shadow:0 10px 28px -8px rgba(16,59,95,.3); transform:translateY(-4px); }

/* Section headings */
.section-heading { font-weight:600; letter-spacing:-.5px; }

/* Anim utility */
.fade-in-up { opacity:0; transform:translateY(16px); animation:fadeUp .6s var(--fd-transition) forwards; }
@keyframes fadeUp { to { opacity:1; transform:translateY(0); } }

/* Footer */
footer { background:#0d2232; color:#c2d3e2; }
footer a { color:#fff; opacity:.85; transition:var(--fd-transition); }
footer a:hover { opacity:1; }

/* Responsive tweaks */
@media (max-width:640px){ #hero h1 { font-size:1.55rem; } }
