/* ============================================================
   El-Kairos Jobs — Premium design system (LinkedIn/Indeed grade)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --brand:#1B5BFF; --brand-d:#1242C8; --brand-l:#E9EEFF; --gold:#F5B544; --gold-l:#FDF3DD;
  --accent:#18A957; --accent-l:#e7f6ed;       /* trust/green for "free", success */
  --ink:#0B1B33; --body:#3A4859; --muted:#647688;
  --line:#e3e9f0; --line-2:#eef2f7;
  --bg:#F5F8FC; --card:#ffffff; --chip:#eef3f8;
  --warn:#b54708; --warn-l:#fff6ed; --err:#d92d20;
  --radius:12px; --radius-sm:8px; --radius-pill:999px;
  --shadow:0 1px 2px rgba(16,30,54,.04),0 4px 16px rgba(16,30,54,.06);
  --shadow-lg:0 8px 30px rgba(16,30,54,.10);
  --maxw:1080px; --nav-h:62px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--body);background:var(--bg);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:Sora,Inter,-apple-system,Segoe UI,sans-serif;color:var(--ink);line-height:1.18;margin:0 0 .4em;font-weight:800;letter-spacing:-.02em}
h1{font-size:clamp(30px,4.4vw,46px)} h2{font-size:clamp(23px,3vw,32px)} h3{font-size:19px;font-weight:700}
p{margin:0 0 1em} a{color:var(--brand);text-decoration:none} a:hover{text-decoration:underline}
img{max-width:100%}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.muted{color:var(--muted)} .center{text-align:center}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--line)}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:0 20px;height:var(--nav-h);display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:9px;font-family:Sora,Inter,sans-serif;font-weight:800;color:var(--ink);font-size:19px;letter-spacing:-.02em}
.brand:hover{text-decoration:none}
.brand .mark{width:30px;height:30px;border-radius:8px;overflow:hidden;
  display:grid;place-items:center;color:#fff;font-weight:800;font-size:16px;box-shadow:0 2px 8px rgba(11,27,51,.22)}
.brand .mark svg{width:30px;height:30px;display:block}
.nav-links{display:flex;gap:4px;margin-left:8px}
.nav-links a{color:var(--body);font-weight:600;font-size:14.5px;padding:8px 12px;border-radius:8px}
.nav-links a:hover{background:var(--line-2);color:var(--ink);text-decoration:none}
.nav-links a.active{color:var(--brand)}
.nav-spacer{flex:1}
.nav-cta{display:flex;gap:10px;align-items:center}
@media(max-width:760px){.nav-links{display:none}}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px;
  padding:11px 20px;border-radius:var(--radius-pill);border:1.5px solid transparent;cursor:pointer;
  transition:.15s ease;white-space:nowrap;line-height:1}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-d);box-shadow:0 6px 16px rgba(27,91,255,.30);color:#fff}
.btn-ghost{background:transparent;color:var(--brand);border-color:var(--line)}
.btn-ghost:hover{background:var(--brand-l);border-color:var(--brand);color:var(--brand-d)}
.btn-lg{font-size:16.5px;padding:14px 28px}
.btn-block{width:100%}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(1200px 480px at 78% -12%,rgba(27,91,255,.10),transparent 60%),
  radial-gradient(900px 420px at 8% 0%,rgba(245,181,68,.10),transparent 55%),
  linear-gradient(180deg,#fff, #fbfcfe)}
.hero .container{padding-top:54px;padding-bottom:46px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:30px}}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--brand-l);color:var(--brand-d);
  font-weight:700;font-size:13px;padding:6px 13px;border-radius:var(--radius-pill);margin-bottom:18px;letter-spacing:.01em}
.hero p.lead{font-size:18.5px;color:var(--body);max-width:34em}
.trust-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px}
.trust-row span{display:inline-flex;align-items:center;gap:7px;font-size:14px;color:var(--muted);font-weight:500}
.trust-row svg{width:18px;height:18px;color:var(--accent)}

/* ---------- CARDS ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card-pad{padding:26px}
.section{padding:54px 0}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:680px){.stat-grid{grid-template-columns:1fr}}
.stat{padding:22px;text-align:center}
.stat .n{font-size:30px;font-weight:800;color:var(--brand);letter-spacing:-.02em}
.stat .l{font-size:14px;color:var(--muted);font-weight:500}

/* ---------- FORM ---------- */
.field{margin-top:16px}
label.lbl{display:block;font-weight:600;font-size:13.5px;color:var(--ink);margin-bottom:7px}
.req{color:var(--err)}
input[type=text],input[type=email],input[type=tel],select{width:100%;padding:12px 14px;border:1.5px solid var(--line);
  border-radius:var(--radius-sm);font-size:15.5px;background:#fff;color:var(--ink);font-family:inherit;transition:.15s}
input::placeholder{color:#9bacbe}
input:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-l)}
.grid-2{display:flex;gap:12px}.grid-2>div{flex:1}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.chip-sel{position:relative}
.chip-sel input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.chip-sel span{display:inline-block;padding:8px 13px;border:1.5px solid var(--line);border-radius:var(--radius-pill);
  font-size:13.5px;font-weight:600;color:var(--body);cursor:pointer;user-select:none;transition:.12s}
.chip-sel input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}
.chip-sel span:hover{border-color:var(--brand)}
.consent{display:flex;gap:11px;align-items:flex-start;margin-top:18px;font-size:13px;color:var(--muted);line-height:1.5}
.consent input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:var(--brand)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formnote{font-size:12px;color:var(--muted);text-align:center;margin-top:12px}
.msg{display:none;padding:13px 15px;border-radius:var(--radius-sm);margin-top:14px;font-size:14px;font-weight:500}
.msg.err{display:block;background:#fef3f2;color:var(--err);border:1px solid #fecdca}
.ok-screen{display:none;text-align:center;padding:34px 20px}
.ok-screen .tick{width:64px;height:64px;border-radius:50%;background:var(--accent-l);color:var(--accent);
  display:grid;place-items:center;margin:0 auto 16px}
.ok-screen .tick svg{width:32px;height:32px}

/* ---------- BADGES / TAGS ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:4px 11px;border-radius:var(--radius-pill)}
.badge-free{background:var(--accent-l);color:var(--accent)}
.badge-new{background:var(--brand-l);color:var(--brand-d)}
.tag{display:inline-block;background:var(--chip);color:var(--body);font-size:12.5px;font-weight:600;
  padding:4px 10px;border-radius:6px}

/* ---------- JOB BOARD ---------- */
.board{display:grid;grid-template-columns:248px 1fr;gap:24px;align-items:start}
@media(max-width:860px){.board{grid-template-columns:1fr}}
.filters{position:sticky;top:calc(var(--nav-h) + 16px)}
.filters h4{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:18px 0 10px}
.filt-link{display:flex;justify-content:space-between;padding:7px 10px;border-radius:8px;font-size:14px;
  color:var(--body);cursor:pointer;font-weight:500}
.filt-link:hover{background:var(--line-2)}
.filt-link.active{background:var(--brand-l);color:var(--brand-d);font-weight:700}
.filt-link .c{color:var(--muted);font-size:12.5px}
.searchbar{display:flex;gap:10px;margin-bottom:18px}
.searchbar input{flex:1}
.jobcard{display:flex;gap:14px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);
  background:#fff;transition:.15s;cursor:pointer;margin-bottom:12px}
.jobcard:hover{border-color:var(--brand);box-shadow:var(--shadow-lg);transform:translateY(-1px)}
.jobcard .logo{width:52px;height:52px;border-radius:10px;border:1px solid var(--line);object-fit:contain;background:#fff;flex:none}
.jobcard .logo-fallback{width:52px;height:52px;border-radius:10px;background:var(--brand-l);color:var(--brand);
  display:grid;place-items:center;font-weight:800;font-size:20px;flex:none}
.jobcard .jt{font-size:16.5px;font-weight:700;color:var(--ink);margin:0 0 3px}
.jobcard .co{font-size:14px;color:var(--body);font-weight:600}
.jobcard .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px;font-size:13px;color:var(--muted)}
.jobcard .meta span{display:inline-flex;align-items:center;gap:5px}
.jobcard .tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.board-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.skeleton{height:96px;border-radius:var(--radius);background:linear-gradient(90deg,#eef2f7,#f7fafc,#eef2f7);
  background-size:200% 100%;animation:sh 1.3s infinite;margin-bottom:12px}
@keyframes sh{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ---------- FOOTER ---------- */
.footer{background:#0f1b29;color:#aebfd0;margin-top:60px;padding:48px 0 30px;font-size:14px}
.footer a{color:#cdd9e6} .footer a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}
.footer .brand{color:#fff;margin-bottom:12px}
.footer h5{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px}
.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:8px 0}
.foot-legal{border-top:1px solid #20120 ;border-top:1px solid rgba(255,255,255,.1);margin-top:34px;padding-top:20px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#7e93a8;font-size:13px}

/* ---------- UTIL ---------- */
.pillrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.hide{display:none!important}
