/* I Can Work On: premium job posting theme (shared by all /job/ pages) */
:root { --jp-ink:#0b1220; --jp-blue:#1d4ed8; --jp-sky:#0ea5e9; --jp-muted:#475569; --jp-line:#e2e8f0; }
body {
  background: radial-gradient(1100px 480px at 50% -220px, #dbeafe 0%, rgba(219,234,254,0) 70%), #f8fafc;
  font-family: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  color: var(--jp-ink);
  -webkit-font-smoothing: antialiased;
}
.brand { font-weight: 800; color: var(--jp-blue); letter-spacing: -0.01em; }
.job-summary {
  position: relative; overflow: hidden;
  max-width: 820px; margin: 2rem auto;
  background: #ffffff;
  border: 1px solid var(--jp-line);
  border-radius: 22px;
  box-shadow: 0 40px 70px -40px rgba(15, 23, 42, 0.35);
  padding: clamp(1.4rem, 4vw, 2.75rem);
}
.job-summary::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 6px;
  background: linear-gradient(90deg, #1d4ed8, #0ea5e9, #22d3ee);
}
.job-summary h1 {
  font-size: clamp(1.9rem, 4.6vw, 2.9rem); font-weight: 800; line-height: 1.08;
  letter-spacing: -0.025em; color: var(--jp-ink); margin: 0.4rem 0 0.6rem;
  text-wrap: balance;
}
.job-summary > p:first-of-type {
  color: var(--jp-muted); font-size: 1.05rem; font-weight: 600; margin: 0 0 1.5rem; line-height: 1.5;
}
.job-summary h2 {
  font-size: 1.15rem; font-weight: 800; letter-spacing: -0.01em; color: var(--jp-ink);
  margin: 2rem 0 0.6rem;
}
.job-summary-desc {
  font-size: 1.05rem; line-height: 1.7; color: #1e293b; white-space: normal;
  background: #f8fafc; border: 1px solid var(--jp-line); border-radius: 16px;
  padding: 1.25rem 1.4rem;
}
.job-summary p { line-height: 1.7; color: #334155; }
.job-summary a { color: var(--jp-blue); font-weight: 700; text-decoration: none; }
.job-summary a:hover { text-decoration: underline; }
.job-summary > p > a:first-of-type {
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 0.75rem; padding: 0.95rem 1.7rem; border-radius: 999px;
  background: linear-gradient(135deg, #1d4ed8, #0ea5e9); color: #ffffff !important;
  box-shadow: 0 14px 28px -12px rgba(29, 78, 216, 0.65);
  text-decoration: none;
}
.job-summary > p > a:first-of-type:hover { filter: brightness(1.08); text-decoration: none; }
.job-summary ul { padding-left: 1.2rem; }
.job-summary li { margin: 0.3rem 0; }
.job-page-wrap, .job-page-wrap .container { max-width: 100%; }
.jb-share { justify-content: center; }
@media (max-width: 600px) {
  body { font-size: 16px; }
  .job-summary { margin: 1rem auto; border-radius: 18px; }
  .job-summary > p > a:first-of-type { width: 100%; }
}

/* Live job page (JS-rendered card inside #jobDetailsContainer) */
body.job-page {
  background: radial-gradient(1100px 480px at 50% -220px, #dbeafe 0%, rgba(219,234,254,0) 70%), #f8fafc;
  font-family: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  color: #0b1220;
}
#jobDetailsContainer .job-details-card {
  max-width: 860px; margin: 2rem auto; position: relative; overflow: hidden;
  background: #ffffff; border: 1px solid #e2e8f0; border-radius: 22px;
  box-shadow: 0 40px 70px -40px rgba(15, 23, 42, 0.35);
}
#jobDetailsContainer .job-details-card::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 6px;
  background: linear-gradient(90deg, #1d4ed8, #0ea5e9, #22d3ee);
}
#jobDetailsContainer .job-invite {
  padding: clamp(1.5rem, 4vw, 2.75rem) clamp(1.4rem, 4vw, 2.75rem) 1.25rem;
  background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
}
#jobDetailsContainer .job-kicker {
  display: inline-block; margin: 0 0 .6rem; padding: .3rem .75rem; border-radius: 999px;
  background: #1d4ed8; color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .02em;
}
#jobDetailsContainer .job-invite h1 {
  font-size: clamp(1.9rem, 4.6vw, 2.9rem); font-weight: 800; line-height: 1.08;
  letter-spacing: -0.025em; color: #0b1220; margin: 0 0 .5rem; text-wrap: balance;
}
#jobDetailsContainer .company-name { font-size: 1.1rem; font-weight: 700; color: #334155; margin-bottom: .9rem; }
#jobDetailsContainer .job-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
#jobDetailsContainer .job-chips > span {
  display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .85rem; border-radius: 999px;
  background: #ffffff; border: 1px solid #dbe4f0; color: #1e293b; font-size: .92rem; font-weight: 600;
}
#jobDetailsContainer .job-body { padding: 0 clamp(1.4rem, 4vw, 2.75rem) clamp(1.5rem, 4vw, 2.5rem); }
#jobDetailsContainer .job-body h2 { font-size: 1.15rem; font-weight: 800; color: #0b1220; margin: 1.8rem 0 .6rem; }
#jobDetailsContainer .job-content, #jobDetailsContainer .job-description > .job-content {
  font-size: 1.04rem; line-height: 1.7; color: #1e293b;
  background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 16px; padding: 1.2rem 1.35rem;
}
#jobDetailsContainer .job-actions {
  display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 1.75rem;
}
#jobDetailsContainer .job-apply-btn, #jobDetailsContainer .job-actions .btn-primary {
  display: inline-flex; align-items: center; justify-content: center; padding: .95rem 1.8rem; border-radius: 999px;
  background: linear-gradient(135deg, #1d4ed8, #0ea5e9); border: 0; color: #fff; font-weight: 800; font-size: 1.02rem;
  box-shadow: 0 14px 28px -12px rgba(29, 78, 216, 0.65);
}
#jobDetailsContainer .job-apply-btn:hover { filter: brightness(1.08); color: #fff; }
#jobDetailsContainer .job-actions .btn-outline-secondary {
  border-radius: 999px; padding: .9rem 1.4rem; font-weight: 700;
}
@media (max-width: 600px) {
  #jobDetailsContainer .job-details-card { margin: 1rem auto; border-radius: 18px; }
  #jobDetailsContainer .job-apply-btn { width: 100%; }
}

/* Full package: logo, link buttons, related-job cards */
.site-header-brand, .brand { display: inline-flex; align-items: center; gap: .55rem; font-weight: 800; color: #0b1220; text-decoration: none; font-size: 1.05rem; letter-spacing: -0.01em; }
.site-header-brand img, .brand img { width: 36px; height: 36px; object-fit: contain; border-radius: 8px; }
.jp-links { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.4rem; }
.jp-link { display: inline-flex; align-items: center; padding: .65rem 1.05rem; border-radius: 999px; border: 1px solid #cbd5e1; background: #fff; color: #0b1220 !important; font-weight: 700; font-size: .95rem; text-decoration: none; }
.jp-link:hover { border-color: #1d4ed8; color: #1d4ed8 !important; text-decoration: none; }
.jp-link.jp-primary { background: linear-gradient(135deg, #1d4ed8, #0ea5e9); color: #fff !important; border: 0; box-shadow: 0 12px 24px -12px rgba(29,78,216,.6); }
.jp-related, nav[aria-label="Other open roles"] ul { list-style: none; padding: 0; margin: .6rem 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .7rem; }
.jp-related li, nav[aria-label="Other open roles"] li { margin: 0; }
.jp-related a, nav[aria-label="Other open roles"] a { display: block; padding: .9rem 1.05rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; color: #0b1220; font-weight: 700; text-decoration: none; box-shadow: 0 6px 16px -12px rgba(15,23,42,.3); }
.jp-related a:hover, nav[aria-label="Other open roles"] a:hover { border-color: #1d4ed8; color: #1d4ed8; }
nav[aria-label="Other open roles"] { max-width: 860px; margin: 0 auto; }

/* People-at-work illustration behind the job header */
#jobDetailsContainer .job-invite {
  background:
    linear-gradient(180deg, rgba(239,246,255,.78) 0%, rgba(255,255,255,.96) 100%),
    url("/img/job-hero-bg.svg") center / cover no-repeat;
}

/* Holistic premium pass: top bar, footer, rhythm */
body.job-page nav { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.8); -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid #e2e8f0; }
body.job-page nav .nav-content { min-height: 64px; display: flex; align-items: center; }
body.job-page .site-header-cta { display: inline-flex; align-items: center; padding: .55rem 1.1rem; border-radius: 999px; background: #0b1220; color: #fff !important; font-weight: 700; font-size: .92rem; text-decoration: none; }
body.job-page .site-header-cta:hover { background: #1d4ed8; }
.jp-footer { margin-top: 3.5rem; background: #0b1220; color: #cbd5e1; padding: 2.2rem 1.25rem 1.25rem; }
.jp-footer-in { max-width: 860px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem; }
.jp-footer-brand { display: flex; align-items: center; gap: .8rem; }
.jp-footer-brand img { width: 40px; height: 40px; border-radius: 10px; background: #fff; object-fit: contain; }
.jp-footer-brand strong { display: block; color: #fff; font-weight: 800; font-size: 1.05rem; }
.jp-footer-brand span { font-size: .9rem; color: #94a3b8; }
.jp-footer-nav { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }
.jp-footer-nav a { color: #e2e8f0; text-decoration: none; font-weight: 600; font-size: .92rem; }
.jp-footer-nav a:hover { color: #7dd3fc; }
.jp-copy { max-width: 860px; margin: 1.5rem auto 0; padding-top: 1rem; border-top: 1px solid #1e293b; color: #64748b; font-size: .85rem; }
