/* ============================================================================
   Global Data — Careers styles (hub archive + single role). SELF-CONTAINED.
   Same token system as solutions.css. Pairs with careers.js.
   Markup scoped under .careers, prefix cr-.
   ============================================================================ */
.careers{
  --p:#13ec80; --p-dark:#0eb561;
  --green:#047857; --green-700:#065f46; --green-soft:#ecfdf5; --green-line:#a7f3d0;
  --ink:#0f172a; --body:#475569; --muted:#64748b; --faint:#94a3b8;
  --line:#e2e8f0; --line-soft:#eef2f7; --surface:#ffffff; --surface-2:#f8fafc; --surface-3:#f1f5f9;
  --deep:#06281a;
}
.careers .material-symbols-outlined{ font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
  width:1em; height:1em; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; flex:none; line-height:1; }
html{ scroll-behavior:smooth; }
body{ font-family:'Manrope',sans-serif; background:#f1f5f9; color:#0f172a; }
.material-symbols-outlined{ font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24; }

.careers .pt-badge{ display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; color:var(--green-700); background:var(--green-soft); padding:7px 14px; border-radius:100px; border:1px solid var(--green-line); }
.careers .pt-dot{ width:7px; height:7px; border-radius:50%; background:var(--p); box-shadow:0 0 0 0 rgba(19,236,128,.55); animation:pt-pulse 1.8s infinite; }
@keyframes pt-pulse{ 0%{box-shadow:0 0 0 0 rgba(19,236,128,.55)} 70%{box-shadow:0 0 0 7px rgba(19,236,128,0)} 100%{box-shadow:0 0 0 0 rgba(19,236,128,0)} }
.careers .pt-hero-mesh{ background-color:#fff;
  background-image:radial-gradient(circle at top left,rgba(19,236,128,.16),transparent 48%),radial-gradient(circle at 12% 8%,rgba(4,120,87,.08),transparent 40%); }
.mesh-gradient{ background-image:radial-gradient(at 0% 0%,rgba(19,236,128,.06) 0,transparent 50%),radial-gradient(at 100% 100%,rgba(4,120,87,.04) 0,transparent 50%); }
.careers .pt-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer;
  font-family:inherit; font-weight:700; font-size:14.5px; line-height:1; border:1px solid transparent; border-radius:12px;
  padding:13px 22px; transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,background .2s,color .2s; white-space:nowrap; text-decoration:none; }
.careers .pt-btn .material-symbols-outlined{ font-size:18px; }
.careers .pt-btn-primary{ background:var(--p); color:#06281a; box-shadow:0 8px 22px -8px rgba(19,236,128,.6); }
.careers .pt-btn-primary:hover{ background:var(--p-dark); transform:translateY(-2px); box-shadow:0 14px 30px -8px rgba(19,236,128,.7); }
.careers .pt-btn-ghost{ background:rgba(255,255,255,.85); border-color:var(--line); color:var(--green-700); }
.careers .pt-btn-ghost:hover{ background:#fff; transform:translateY(-2px); box-shadow:0 4px 20px -2px rgba(15,23,42,.06); }
.careers .pt-btn-on-dark{ background:#fff; color:#06281a; }
.careers .pt-btn-on-dark:hover{ background:var(--p); transform:translateY(-2px); }
.careers a{ color:inherit; }
.careers .cr-link{ color:var(--green-700); font-weight:700; text-decoration:underline; text-decoration-color:rgba(19,236,128,.4); text-underline-offset:2px; }
.careers .cr-link:hover{ color:var(--green); }
.careers .pt-reveal{ transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
html.pt-anim .careers .pt-reveal:not(.in){ opacity:0; transform:translateY(24px); }
.careers .pt-reveal.in{ opacity:1; transform:none; }
.careers .pt-reveal.d1{ transition-delay:.08s } .careers .pt-reveal.d2{ transition-delay:.16s } .careers .pt-reveal.d3{ transition-delay:.24s }

/* ---- role row (hub) ---- */
.careers .cr-roles{ border:1px solid var(--line); border-radius:20px; background:#fff; overflow:hidden; }
.careers .cr-role{ display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; padding:26px 30px; border-top:1px solid var(--line-soft);
  text-decoration:none; transition:background .2s; }
.careers .cr-role:first-child{ border-top:none; }
.careers .cr-role:hover{ background:var(--surface-2); }
.careers .cr-role .ri{ width:48px; height:48px; border-radius:13px; flex:none; display:flex; align-items:center; justify-content:center;
  background:var(--green-soft); border:1px solid var(--green-line); color:var(--green); transition:.25s; }
.careers .cr-role:hover .ri{ background:var(--p); border-color:var(--p); color:var(--deep); }
.careers .cr-role .ri .material-symbols-outlined{ font-size:23px; }
.careers .cr-role h2,.careers .cr-role h3{ font-size:17.5px; font-weight:800; color:var(--ink); line-height:1.3; }
.careers .cr-role .cr-tags{ display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:6px; }
.careers .cr-role .cr-tags span{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--muted); }
.careers .cr-role .cr-tags .material-symbols-outlined{ font-size:15px; color:var(--faint); }
.careers .cr-role .go{ margin-left:auto; display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:800; color:var(--green-700); }
.careers .cr-role .go .material-symbols-outlined{ font-size:16px; transition:transform .25s ease; }
.careers .cr-role:hover .go .material-symbols-outlined{ transform:translateX(4px); }

/* ---- meta strip (single) ---- */
.careers .cr-meta{ display:grid; grid-template-columns:repeat(2,1fr); border:1px solid var(--line); border-radius:16px;
  background:#fff; overflow:hidden; margin-top:40px; }
@media (min-width:1024px){ .careers .cr-meta{ grid-template-columns:repeat(4,1fr); } }
.careers .cr-meta > div{ padding:18px 22px; border-top:1px solid var(--line-soft); }
.careers .cr-meta > div:nth-child(-n+2){ border-top:none; }
@media (min-width:1024px){ .careers .cr-meta > div{ border-top:none; border-left:1px solid var(--line-soft); } .careers .cr-meta > div:first-child{ border-left:none; } }
.careers .cr-meta .k{ font-size:10.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.careers .cr-meta .v{ font-size:15px; font-weight:800; color:var(--ink); line-height:1.4; }
.careers .cr-meta .v em{ color:var(--green); font-style:normal; }

/* ---- role body sections (single) ---- */
.careers .cr-section{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px 32px; }
.careers .cr-section h2{ display:flex; align-items:center; gap:11px; font-size:20px; font-weight:800; color:var(--ink); letter-spacing:-.01em; margin-bottom:16px; scroll-margin-top:96px; }
.careers .cr-section h2 .material-symbols-outlined{ font-size:22px; color:var(--green); }
.careers .cr-section p{ font-size:15px; color:var(--body); line-height:1.7; }
.careers .cr-section ul{ display:flex; flex-direction:column; gap:11px; }
.careers .cr-section p + ul{ margin-top:14px; }
.careers .cr-section li{ display:flex; gap:11px; font-size:14.5px; color:var(--body); line-height:1.65; }
.careers .cr-section li::before{ content:"check_circle"; font-family:'Material Symbols Outlined'; font-size:18px; color:var(--green); flex:none; margin-top:3px; }

/* ---- apply band ---- */
.careers .cr-apply{ background:var(--deep); border-radius:24px; padding:44px 40px; color:#fff; position:relative; overflow:hidden; }
.careers .cr-apply::before{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 85% 10%,rgba(19,236,128,.22),transparent 45%); }
.careers .cr-apply > *{ position:relative; }
.careers .cr-apply h2{ font-size:27px; font-weight:800; letter-spacing:-.015em; line-height:1.2; }
.careers .cr-apply p{ font-size:15px; color:rgba(255,255,255,.75); line-height:1.65; }
.careers .cr-apply .fine{ font-size:12.5px; color:rgba(255,255,255,.5); }
