
:root{
  --bg:#f5f7fb;
  --surface:#ffffff;
  --surface-2:#f1f5ff;
  --text:#0f172a;
  --muted:#52607a;
  --blue:#121a8b;
  --blue-2:#1f2bbf;
  --green:#9ad62f;
  --green-2:#c1ea67;
  --line:#dce5f7;
  --shadow:0 20px 45px rgba(15,23,42,.10);
  --radius:24px;
  --radius-sm:16px;
  --max:1180px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at top left, rgba(154,214,47,.14), transparent 30%),
    radial-gradient(circle at top right, rgba(18,26,139,.10), transparent 28%),
    linear-gradient(180deg,#f7f9ff 0%, #edf2ff 100%);
  color:var(--text);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}

.container{width:min(var(--max), calc(100% - 32px)); margin:0 auto}
.topbar{
  background:linear-gradient(90deg,var(--blue),#0f1a67);
  color:#e7ecff;
  font-size:.95rem;
}
.topbar .container{
  display:flex; gap:14px; align-items:center; justify-content:space-between;
  padding:10px 0; flex-wrap:wrap;
}
.badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}
.badge strong{color:#fff}
.navbar{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(12px);
  background:rgba(245,247,251,.82);
  border-bottom:1px solid rgba(220,229,247,.8);
}
.navbar .container{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 0;
}
.brand{
  display:flex; align-items:center; gap:14px;
  min-width:0;
}
.brand img{
  width:58px; height:58px; object-fit:contain; border-radius:14px;
  background:#fff; box-shadow:0 10px 25px rgba(18,26,139,.08);
}
.brand h1{
  font-size:1rem; margin:0; line-height:1.15;
}
.brand p{
  margin:2px 0 0; color:var(--muted); font-size:.86rem;
}
.nav{
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
}
.nav a{
  color:#24304e; font-weight:600; padding:10px 12px; border-radius:12px;
}
.nav a:hover,.nav a.active{
  background:#eaf0ff; color:var(--blue);
}
.menu-btn{
  display:none; border:0; background:#eaf0ff; color:var(--blue);
  padding:10px 12px; border-radius:12px; cursor:pointer;
}
.hero{
  padding:42px 0 26px;
}
.hero-grid{
  display:grid; grid-template-columns: 1.25fr .75fr; gap:24px; align-items:stretch;
}
.panel{
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.98));
  border:1px solid rgba(220,229,247,.9);
  box-shadow:var(--shadow);
  border-radius:var(--radius);
}
.hero-copy{
  padding:34px;
  position:relative;
  overflow:hidden;
}
.hero-copy:after{
  content:""; position:absolute; inset:auto -90px -110px auto;
  width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle, rgba(154,214,47,.28), rgba(154,214,47,0) 70%);
}
.kicker{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:999px;
  background:rgba(154,214,47,.16);
  color:var(--blue);
  font-weight:700;
  border:1px solid rgba(154,214,47,.20);
}
.hero h2{
  margin:16px 0 12px; font-size:clamp(2rem, 4vw, 4.15rem); line-height:1.05;
  color:var(--blue);
}
.hero p{
  margin:0; color:#34435f; max-width:62ch; font-size:1.05rem;
}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:24px}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:13px 18px; border-radius:16px; border:1px solid transparent;
  font-weight:700; cursor:pointer; transition:.2s ease;
}
.btn.primary{
  background:linear-gradient(135deg,var(--blue),#1d2fb7);
  color:#fff;
  box-shadow:0 18px 30px rgba(18,26,139,.18);
}
.btn.primary:hover{transform:translateY(-1px)}
.btn.secondary{
  background:#fff; border-color:#d7e1f8; color:var(--blue);
}
.btn.secondary:hover{background:#f4f7ff}

.hero-card{
  padding:22px;
  display:flex; flex-direction:column; gap:14px;
}
.stat-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}
.stat{
  background:linear-gradient(180deg,#fbfcff,#f4f7ff);
  border:1px solid var(--line); border-radius:18px; padding:16px;
}
.stat strong{display:block; font-size:1.45rem; color:var(--blue)}
.stat span{color:var(--muted); font-size:.92rem}

.section{padding:16px 0 36px}
.section h3{
  margin:0 0 12px; font-size:1.65rem; color:var(--blue);
}
.section p.lead{margin:0 0 18px; color:var(--muted); max-width:75ch}

.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
.card{
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:0 14px 30px rgba(15,23,42,.06);
  border-radius:var(--radius);
  padding:22px;
}
.card h4{margin:0 0 8px; color:#162042; font-size:1.15rem}
.card p{margin:0; color:var(--muted)}
.icon{
  width:48px; height:48px; border-radius:14px;
  display:grid; place-items:center;
  background:linear-gradient(135deg, rgba(154,214,47,.18), rgba(18,26,139,.10));
  color:var(--blue); font-size:1.15rem; margin-bottom:12px;
}
.dest{
  padding:20px; position:relative; overflow:hidden;
}
.dest:before{
  content:""; position:absolute; inset:0 0 auto auto;
  width:140px; height:140px; border-radius:0 0 0 140px;
  background:rgba(154,214,47,.14);
}
.dest .tag{
  display:inline-flex; padding:6px 10px; border-radius:999px;
  background:#eef5ff; color:var(--blue); font-weight:700; font-size:.88rem; margin-bottom:10px;
}
.list{
  display:grid; gap:10px; margin:0; padding:0; list-style:none;
}
.list li{
  display:flex; gap:10px; align-items:flex-start;
  padding:12px 14px; background:#fbfcff; border:1px solid var(--line); border-radius:14px;
}
.list li:before{
  content:"✓"; color:var(--green); font-weight:900; margin-top:1px;
}
.footer{
  margin-top:24px;
  background:linear-gradient(180deg,#101866,#0b0f49);
  color:#dce3ff;
}
.footer .container{
  padding:30px 0;
  display:grid; grid-template-columns:2fr 1fr 1fr; gap:22px;
}
.footer h5{margin:0 0 10px; font-size:1rem; color:#fff}
.footer p,.footer a{color:#c7d1f4}
.footer .small{font-size:.92rem}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.10);
  padding:12px 0 22px;
  color:#b9c5ec;
  font-size:.92rem;
}
.form{
  display:grid; gap:14px;
}
.field{
  display:grid; gap:6px;
}
.field label{font-weight:700; color:#1c2648; font-size:.95rem}
.field input,.field select,.field textarea{
  width:100%;
  padding:13px 14px;
  border-radius:14px;
  border:1px solid #d7e1f8;
  background:#fff;
  outline:none;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue); box-shadow:0 0 0 4px rgba(18,26,139,.08)}
.toolbar{
  display:flex; gap:12px; flex-wrap:wrap;
  padding:14px; background:#fff; border:1px solid var(--line); border-radius:18px;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}
.toolbar .field{min-width:180px; flex:1}
.jobs-list{display:grid; gap:14px}
.job{
  display:grid; gap:10px;
}
.job-top{
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; align-items:flex-start;
}
.job h4{margin:0}
.pill-row{display:flex; gap:8px; flex-wrap:wrap}
.pill{
  font-size:.82rem;
  padding:6px 10px;
  border-radius:999px;
  background:#eef5ff; color:var(--blue); font-weight:700;
}
.pill.green{background:rgba(154,214,47,.14); color:#446400}
.notice{
  padding:14px 16px; border-radius:16px; background:rgba(154,214,47,.12);
  border:1px solid rgba(154,214,47,.22); color:#274100;
}
.callout{
  padding:18px; border-radius:20px;
  background:linear-gradient(135deg, rgba(18,26,139,.08), rgba(154,214,47,.12));
  border:1px solid rgba(18,26,139,.08);
}
.mobile-only{display:none}

@media (max-width: 960px){
  .hero-grid,.grid-3,.grid-2,.footer .container{grid-template-columns:1fr}
  .menu-btn{display:inline-flex}
  .nav{display:none; width:100%; padding:12px 0 4px}
  .nav.open{display:flex; flex-direction:column; align-items:flex-start}
  .navbar .container{flex-wrap:wrap}
  .hero-copy{padding:24px}
}
@media (max-width: 640px){
  .topbar .container{gap:8px}
  .hero{padding-top:24px}
  .hero-copy h2{font-size:2rem}
  .card,.hero-card{padding:18px}
  .stat-grid{grid-template-columns:1fr}
  .toolbar{padding:12px}
  .mobile-only{display:block}
}


.hero-banner{
  margin-top:18px;
  min-height:320px;
  border-radius:32px;
  overflow:hidden;
  position:relative;
  background:
    linear-gradient(135deg, rgba(18,26,139,.82), rgba(18,26,139,.55)),
    url('assets/logo.png') center/contain no-repeat,
    linear-gradient(135deg,#101866,#2a3ae0);
  display:flex;
  align-items:flex-end;
}
.hero-banner .overlay{
  width:100%;
  padding:32px;
  color:#fff;
}
.hero-banner h2{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(2rem,4vw,4rem);
}
.job-image{
  width:100%;
  max-height:220px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid var(--line);
}
.contact-box a{
  color:var(--blue);
  font-weight:700;
}
