/* Careers visual system: AI ECD corporate colors, responsive layout, accessibility. */
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}
:root{--ink:#1A1A2E;--muted:#5A5878;--accent:#6E3FA6;--accent-ink:#532E82;--soft:#F3EEFB;--bg:#FBFAFF;--surface:#fff;--border:rgba(26,26,46,.12);--shadow:0 15px 45px -28px rgba(46,26,82,.32)}
html[data-theme="dark"]{--ink:#F5F2FC;--muted:#D4CAE7;--accent:#C9A5FF;--accent-ink:#E5D4FF;--soft:#382C4D;--bg:#171422;--surface:#241D32;--border:rgba(240,230,255,.17);--shadow:0 18px 50px -28px rgba(0,0,0,.55)}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.skip{position:absolute;top:8px;left:-9999px;z-index:15;background:var(--surface);padding:8px 16px}.skip:focus{left:16px}
.top-nav{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;position:relative;gap:14px;min-height:68px}
.logo img{display:block;height:46px;width:auto}
.nav-links{display:flex;align-items:center;gap:24px;position:absolute;left:50%;transform:translateX(-50%)}
.nav-links a{text-decoration:none;font-weight:600;font-size:15px;white-space:nowrap;color:var(--muted)}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--accent)}
.nav-actions{display:flex;align-items:center;gap:10px}
.theme-toggle,.menu-toggle{background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:10px;font-size:18px;padding:5px 12px;min-height:40px;cursor:pointer}
.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:700;font-size:15px;padding:11px 23px;text-decoration:none;transition:transform .2s}
.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#6E3FA6,#532E82);color:white;box-shadow:0 8px 24px -8px rgba(70,38,116,.54)}
.btn-secondary{background:var(--soft);color:var(--accent-ink);border:1px solid var(--border)}
.careers-hero{background:radial-gradient(ellipse at 80% 30%,rgba(166,131,223,.17),transparent 48%),var(--bg);padding:clamp(52px,8vw,96px) 0 56px}
.eyebrow,.category{color:var(--accent);font-weight:800}.eyebrow{text-transform:uppercase;font-size:14px;letter-spacing:.09em}
.careers-hero h1{font-size:clamp(39px,5.3vw,64px);line-height:1.08;letter-spacing:-1.6px;max-width:880px;margin:12px 0 17px;text-wrap:balance}
.careers-hero h1 span{color:var(--accent)}.careers-hero p{color:var(--muted);font-size:18px;max-width:760px;margin:0}
.hero-meta,.role-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin:22px 0 0;color:var(--muted);font-size:14px}
.roles{padding:25px 0 72px}.section-heading{font-size:32px;line-height:1.2;letter-spacing:-.6px;margin:0 0 8px}
.roles-intro{margin:0 0 28px;color:var(--muted);max-width:740px}
.job-grid{display:grid;grid-template-columns:1fr;gap:15px}.job-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:19px;padding:25px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;text-decoration:none;transition:transform .15s,border-color .15s}
.job-card:hover{transform:translateY(-2px);border-color:var(--accent)}.category{display:inline-block;background:var(--soft);padding:3px 11px;font-size:12px;border-radius:100px}
.job-card h3{font-size:20px;letter-spacing:-.4px;line-height:1.3;margin:8px 0}.job-card p{font-size:15px;color:var(--muted);margin:0}.arrow{font-size:25px;color:var(--accent)}
.why-section{padding:46px 0;background:var(--soft)}.why-section .wrap{max-width:880px}.why-section p{color:var(--muted)}
.breadcrumb{font-size:14px;padding:25px 0 9px}.breadcrumb a{font-weight:700;color:var(--accent);text-decoration:none}
.jd-page{max-width:860px;margin:0 auto;padding-bottom:75px}.jd-header{padding:12px 0 30px;border-bottom:1px solid var(--border);margin-bottom:34px}
.jd-title{font-size:clamp(33px,4.5vw,52px);letter-spacing:-1.2px;line-height:1.11;margin:15px 0;text-wrap:balance}
.jd-summary{font-size:18px;max-width:740px;color:var(--muted);margin:0}
.role-meta{margin:16px 0 24px}.jd-section{margin-bottom:34px}.jd-section-title{font-size:21px;letter-spacing:-.4px;font-weight:800;margin:0 0 12px}
.jd-p{color:var(--muted);font-size:16px}.jd-list{list-style:disc;padding-left:22px;display:grid;gap:9px;color:var(--muted)}.jd-list li{padding-left:3px}
.jd-stack-table{display:grid;gap:12px}.jd-stack-row{display:flex;gap:18px;align-items:flex-start}
.jd-stack-label{width:138px;flex-shrink:0;font-size:14px;font-weight:700;color:var(--accent);padding-top:4px}.jd-stack-tags{display:flex;flex-wrap:wrap;gap:7px}
.jd-stack-tag{background:var(--soft);border-radius:999px;padding:4px 11px;font-size:13px}
.jd-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.jd-why-item{background:var(--soft);border:1px solid var(--border);border-radius:14px;padding:17px}.jd-why-title{font-weight:800;margin-bottom:5px}.jd-why-p{color:var(--muted);font-size:14px}
.apply-bottom{text-align:center;background:var(--soft);padding:33px 22px;border-radius:20px}.apply-bottom h2{font-size:27px;margin:0 0 9px;line-height:1.25}.apply-bottom p{color:var(--muted);margin:0 0 20px}
.site-footer{background:var(--surface);border-top:1px solid var(--border);padding:30px 0}.foot-inner{display:flex;align-items:center;gap:24px}.foot-inner img{width:auto;height:54px}.foot-inner p{font-size:13px;color:var(--muted);margin:1px 0}.foot-inner nav{display:flex;gap:18px;margin-left:auto;font-size:14px;font-weight:600}.foot-inner nav a{text-decoration:none}.copyright{text-align:center;font-size:12px;color:var(--muted);margin:22px 0 0}
@media(max-width:920px){.nav-links{display:none;position:absolute;top:68px;left:0;right:0;transform:none;background:var(--surface);border:1px solid var(--border);padding:12px 24px;flex-direction:column;gap:0;align-items:stretch}.nav-links.open{display:flex}.nav-links a{padding:11px 0;border-bottom:1px solid var(--border)}.menu-toggle{display:inline-flex}.partner{display:none}}
@media(max-width:650px){.wrap{padding:0 18px}.job-card{padding:21px 19px}.job-card h3{font-size:18px}.careers-hero h1{font-size:39px}.jd-stack-row{display:block}.jd-stack-label{width:auto;padding:0 0 5px}.jd-why{grid-template-columns:1fr}.foot-inner{flex-wrap:wrap}.foot-inner nav{margin-left:0}.theme-toggle{display:none}}
@media(min-width:1024px){.careers-hero h1{max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.job-card,.btn{transition:none}}

/* Emphasize the specialty while keeping the formal role family visible. */
.role-kicker{display:block;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.075em;text-transform:uppercase;line-height:1.5;margin:0}
.job-card .role-kicker{margin-bottom:6px}
.job-card .job-specialty{font-size:clamp(22px,2.15vw,27px);font-weight:800;line-height:1.23;letter-spacing:-.55px;color:var(--accent);margin:0 0 10px}
.job-card-copy{max-width:760px;min-width:0}.job-card-copy p{font-size:15px;line-height:1.5}
.jd-header>.role-kicker{font-size:13px}
.jd-header .jd-title{color:var(--accent);font-size:clamp(39px,5vw,60px);font-weight:800;letter-spacing:-1.5px;line-height:1.08;max-width:790px;margin:10px 0 18px}
.jd-header .jd-summary{font-size:19px;line-height:1.55;color:var(--ink);max-width:690px}
.jd-section-title{font-size:21px;margin-bottom:11px}.jd-p{line-height:1.7;margin:0}.jd-list{gap:11px;margin:0}
.skill-chips{display:flex;gap:8px;flex-wrap:wrap}.skill-chip{font-size:13px;font-weight:600;color:var(--accent-ink);padding:7px 12px;border:1px solid var(--border);border-radius:999px;background:var(--soft)}
.company-context{border-top:1px solid var(--border);padding-top:26px}.more-work{display:inline-block;margin-top:12px;color:var(--accent);font-size:14px;font-weight:700;text-decoration:none}.more-work:hover{text-decoration:underline}
@media(max-width:650px){.job-card .job-specialty{font-size:22px}.jd-header .jd-title{font-size:clamp(38px,10vw,49px)}.jd-header .jd-summary{font-size:17px}}
