:root{
  --primary:#0B1D33;
  --secondary:#122645;
  --navy:#1B3B7D;
  --accent:#2D6DB5;
  --bright:#29ABE2;
  --green:#1F7A3D;
  --orange:#F5A623;
  --bg:#F8FAFC;
  --text:#0F172A;
  --muted:#64748B;
  --white:#FFFFFF;
  --radius:1.25rem;
}
*{ box-sizing:border-box; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ *{ scroll-behavior:auto !important; animation:none !important; transition:none !important; } }
html,body{ margin:0; background:var(--bg); color:var(--text); font-family:'Plus Jakarta Sans', Inter, sans-serif; overflow-x:hidden; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

.container-px{ padding-left:1.25rem; padding-right:1.25rem; max-width:1400px; margin:0 auto; }
@media(min-width:768px){ .container-px{ padding-left:2.5rem; padding-right:2.5rem; } }
@media(min-width:1280px){ .container-px{ padding-left:5rem; padding-right:5rem; } }

.gradient-text{ background:linear-gradient(90deg, var(--accent), var(--bright)); -webkit-background-clip:text; background-clip:text; color:transparent; }

.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-weight:600; border-radius:999px; padding:.9rem 1.7rem; transition:.25s ease; white-space:nowrap; border:none; cursor:pointer; font-size:.95rem; font-family:inherit; }
.btn-primary{ background:var(--accent); color:#fff; box-shadow:0 15px 35px -12px rgba(45,109,181,.55); }
.btn-primary:hover{ background:var(--navy); transform:translateY(-2px); }
.btn-ghost{ background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.25); backdrop-filter:blur(8px); }
.btn-ghost:hover{ background:rgba(255,255,255,.16); transform:translateY(-2px); }
.btn-outline{ background:transparent; border:1.5px solid #E2E8F0; color:var(--text); }
.btn-outline:hover{ border-color:var(--accent); color:var(--accent); transform:translateY(-2px); }
.btn-orange{ background:var(--orange); color:#fff; box-shadow:0 15px 35px -12px rgba(245,166,35,.55); }
.btn-orange:hover{ background:#DE9314; transform:translateY(-2px); }

.glass{ background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.14); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.card{ background:#fff; border:1px solid #EEF2F7; border-radius:var(--radius); transition:.35s ease; }
.card:hover{ transform:translateY(-6px); box-shadow:0 25px 55px -20px rgba(11,18,32,.18); border-color:rgba(45,109,181,.35); }

.reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in-view{ opacity:1; transform:translateY(0); }
.stagger > * { transition-delay: calc(var(--i,0) * 90ms); }

.noise-grid{ background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size:42px 42px; }

.header-shell{ transition:padding .35s ease, box-shadow .35s ease, background-color .35s ease; }
.header-shell.scrolled{ padding-top:.4rem; padding-bottom:.4rem; box-shadow:0 8px 30px -18px rgba(11,18,32,.35); background:rgba(255,255,255,.92); backdrop-filter:blur(14px); }

input:focus, textarea:focus, select:focus, button:focus-visible, a:focus-visible{ outline:2.5px solid var(--bright); outline-offset:2px; }

::-webkit-scrollbar{ height:8px; width:8px; }
::-webkit-scrollbar-thumb{ background:#CBD5E1; border-radius:99px; }

.badge-dot{ width:6px; height:6px; border-radius:99px; background:var(--bright); box-shadow:0 0 0 4px rgba(41,171,226,.18); }

.page-hero{ background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 60%, #0e2a4d 100%); color:#fff; position:relative; overflow:hidden; }

.nav-drop{ opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s ease; }
.nav-item:hover .nav-drop, .nav-item:focus-within .nav-drop{ opacity:1; visibility:visible; transform:translateY(0); }

.img-cover{ object-fit:cover; width:100%; height:100%; }

.mobile-link{ display:block; }
</style>