/* Careers · Al Q Analytic: page styles */
body{background:var(--ice-white)}
.cr{font-family:var(--font-nunito);font-size:18px;line-height:1.6;color:var(--navy-ink);background:var(--ice-white);overflow-x:clip;-webkit-font-smoothing:antialiased}
.cr h1,.cr h2,.cr h3,.cr p{margin:0}
.cr a{color:inherit;text-decoration:none}
.cr a:focus-visible{outline:3px solid var(--cyan-spark);outline-offset:3px;border-radius:8px}
.pat.on-light{color:var(--royal-blue);opacity:.06}
.nav{position:relative;z-index:5;color:var(--white)}
.nav-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-block:18px}
.nav-r{display:flex;align-items:center;gap:8px}
.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--white);transition:background 180ms}
.btn-ghost{border:1.5px solid rgba(255,255,255,.6);color:var(--white)}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:var(--white)}
.hero{position:relative;overflow:hidden;color:var(--white);background:var(--navy-ink)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,35,101,.86) 0%,rgba(1,48,143,.78) 55%,rgba(6,35,101,.9) 100%)}
.hero-in{position:relative;text-align:center;padding:clamp(80px,10vw,140px) 0 clamp(96px,11vw,160px);display:flex;flex-direction:column;align-items:center;gap:22px}
.hero .eyebrow{color:var(--cyan-spark)}
.hero h1{font-family:var(--font-montserrat);font-weight:600;font-size:clamp(40px,5.4vw,72px);line-height:1.08;letter-spacing:-0.02em}
.hero .sub{max-width:640px;font-size:clamp(18px,1.8vw,23px);line-height:1.5;color:rgba(255,255,255,.9)}
.hero-ctas{margin-top:12px;display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.join{position:relative;background:var(--ice-white);padding:clamp(80px,10vw,130px) 0}
.join-head{text-align:center;max-width:780px;margin:0 auto}
.join-head .eyebrow{color:var(--royal-blue)}
.join-head h2{margin-top:12px;font-family:var(--font-montserrat);font-weight:600;font-size:clamp(32px,3.8vw,48px);line-height:1.15;color:var(--navy-ink)}
.join-head p{margin-top:24px;font-size:clamp(18px,1.6vw,21px);line-height:1.6;color:var(--slate)}
.values{max-width:1040px;margin:clamp(56px,7vw,88px) auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.val{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:8px clamp(20px,3vw,44px)}
.val + .val{border-left:1px solid rgba(6,35,101,.14)}
.val svg{width:64px;height:64px;margin-bottom:10px;color:var(--royal-blue);transition:transform 220ms var(--ease-out)}
.val svg .ac{stroke:var(--azure)}
.val:hover svg{transform:translateY(-4px)}
.val h3{font-family:var(--font-montserrat);font-weight:700;font-size:21px;line-height:1.3;color:var(--navy-ink)}
.val p{max-width:280px;font-size:16.5px;line-height:1.55;color:var(--slate)}
/* open roles (from data/jobs.json) */
.roles-sec{position:relative;background:var(--white);padding:clamp(72px,9vw,120px) 0}
.roles-list{max-width:860px;margin:clamp(40px,5vw,56px) auto 0}
.roles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.role{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;padding:clamp(24px,3vw,32px);border-radius:20px;background:var(--ice-white);border:1px solid rgba(6,35,101,.08);transition:transform 220ms var(--ease-out),box-shadow 220ms}
.role:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(6,35,101,.1)}
.role h3{font-family:var(--font-montserrat);font-weight:700;font-size:21px;line-height:1.3;color:var(--navy-ink)}
.role .role-meta{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.role-meta span{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;background:var(--mist-blue);font-family:var(--font-montserrat);font-weight:600;font-size:12px;letter-spacing:.06em;color:var(--royal-blue)}
.role .role-sum{margin-top:12px;max-width:560px;font-size:16.5px;line-height:1.55;color:var(--slate)}
.role .btn{flex:none}
.roles-empty{padding:clamp(28px,4vw,40px);border-radius:20px;background:var(--ice-white);border:1px dashed rgba(6,35,101,.22);text-align:center}
.roles-empty p{font-size:18px;line-height:1.55;color:var(--slate)}
.roles-empty a{color:var(--royal-blue);font-weight:700;text-decoration:underline;text-underline-offset:4px;word-break:break-word}
.apply{position:relative;background:var(--mist-blue);padding:clamp(72px,9vw,120px) 0;overflow:hidden}
.apply-card{position:relative;max-width:860px;margin:0 auto;background:linear-gradient(160deg,var(--navy-ink),var(--deep-cobalt));color:var(--white);border-radius:28px;padding:clamp(40px,5vw,68px);text-align:center;overflow:hidden;box-shadow:0 30px 80px rgba(6,35,101,.25)}
.apply-ic{position:relative;width:64px;height:64px;margin:0 auto 20px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:rgba(3,183,254,.16);color:var(--cyan-spark)}
.apply-card h2{position:relative;font-family:var(--font-montserrat);font-weight:600;font-size:clamp(28px,3.4vw,42px);line-height:1.2}
.apply-card h2 a{color:var(--cyan-spark);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;word-break:break-word}
.apply-card p{position:relative;margin:16px auto 0;max-width:520px;font-size:18px;line-height:1.55;color:rgba(255,255,255,.86)}
.apply-card .hero-ctas{position:relative;margin-top:30px}
.foot{background:var(--white);padding:44px 0;color:var(--navy-ink)}
/* 404 page (404.html reuses this page's hero) */
.nf .hero-in{min-height:max(420px,calc(100vh - 230px));justify-content:center}
.foot img{display:block;height:62px;width:auto}
@media (max-width:760px){
  .values{grid-template-columns:minmax(0,1fr);gap:0}
  .val{padding:28px 12px}
  .val + .val{border-left:0;border-top:1px solid rgba(6,35,101,.14)}
  .role{flex-direction:column;align-items:flex-start}
}
