@font-face{font-family:Inter;src:url("assets/fonts/inter-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url("assets/fonts/manrope-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:EBG;src:url("assets/fonts/eb-garamond-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:JetMono;src:url("assets/fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}

:root{--black:#080a09;--paper:#ecece6;--white:#f2f2ed;--ink:#111411;--muted:#666b65;--cyan:#84dacf;--line:rgba(17,20,17,.2);--pad:clamp(22px,4vw,68px);--sans:Inter,"PingFang SC","Hiragino Sans GB",sans-serif;--display:Manrope,"PingFang SC","Hiragino Sans GB",sans-serif;--serif:EBG,"Songti SC",STSong,"Noto Serif CJK SC",serif;--mono:JetMono,"SFMono-Regular",monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--sans);font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{position:fixed;z-index:80;top:0;left:0;width:100%;height:76px;padding:0 var(--pad);display:grid;grid-template-columns:1fr .75fr 1.5fr auto;align-items:center;color:#fff;transition:color .45s cubic-bezier(.16,1,.3,1)}
body.light-header .site-header{color:var(--ink)}
.brand{display:grid;gap:5px;width:max-content;font:500 15px/1 var(--display);letter-spacing:.09em}
.brand-name sup{font:7px var(--sans);vertical-align:top;margin-left:3px}.brand-location{font:7px/1 var(--mono);letter-spacing:.13em;opacity:.68}
.header-note{margin:0;font:8px var(--mono);letter-spacing:.14em;opacity:.55}
.desktop-nav{display:flex;justify-content:flex-end;gap:clamp(15px,1.55vw,24px);font-size:11px;white-space:nowrap}
.desktop-nav>a,.nav-trigger,.back-link{opacity:.68;transition:opacity .18s}.desktop-nav a:hover,.back-link:hover{opacity:1}
.nav-group{position:relative;display:flex;align-items:center}.nav-trigger{display:block}.nav-trigger::after{content:"";display:inline-block;width:4px;height:4px;margin:0 0 2px 7px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg)}
.nav-popover{position:absolute;top:calc(100% + 20px);right:-18px;width:230px;padding:8px;background:rgba(8,10,9,.96);border:1px solid rgba(255,255,255,.16);color:var(--white);box-shadow:0 18px 52px rgba(0,0,0,.2);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .3s cubic-bezier(.16,1,.3,1),visibility .2s}
.nav-popover::before{content:"";position:absolute;left:0;right:0;top:-22px;height:22px}.nav-popover a{display:flex;align-items:center;justify-content:space-between;padding:13px 12px;border-bottom:1px solid rgba(255,255,255,.12);opacity:.72}.nav-popover a:last-child{border-bottom:0}.nav-popover a:hover,.nav-popover a:focus-visible,.nav-popover a[aria-current="page"]{opacity:1;background:rgba(255,255,255,.06)}.nav-popover small{font:7px var(--mono);letter-spacing:.14em;color:rgba(255,255,255,.44)}
.nav-group:hover .nav-popover,.nav-group:focus-within .nav-popover{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.header-actions{display:flex;align-items:center;margin-left:32px}.back-link{font-size:11px;border-bottom:1px solid;padding:8px 0}.menu-button{display:none;border:0;background:transparent;color:inherit;width:36px;height:36px;position:relative}.menu-button i{position:absolute;left:7px;width:22px;height:1px;background:currentColor;top:13px}.menu-button i:nth-child(2){top:21px}.mobile-nav{display:none}
.career-carrier{position:fixed;z-index:0;inset:0;overflow:hidden;background:var(--black);pointer-events:none}
.career-dna{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;object-position:58% center;opacity:.5;filter:grayscale(.42) saturate(.5) contrast(1.14) brightness(.86)}
.career-carrier i{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,6,.7),rgba(5,7,6,.22) 60%,rgba(5,7,6,.2)),linear-gradient(0deg,rgba(5,7,6,.5),transparent 60%)}
main{position:relative;z-index:1}
.eyebrow{margin:0;font:8px var(--mono);letter-spacing:.17em;text-transform:uppercase}
.career-hero{min-height:100svh;padding:120px var(--pad) 58px;display:grid;grid-template-rows:1fr auto;align-items:end}
.career-hero>div{max-width:960px}
.career-hero h1{margin:28px 0 24px;font:500 clamp(58px,7.2vw,104px)/.95 var(--display);letter-spacing:-.065em}
.hero-lead{max-width:680px;margin:0;font-size:14px;line-height:1.8;color:rgba(255,255,255,.66)}
.role-index{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid rgba(255,255,255,.24)}
.role-index a{min-height:112px;padding:18px 24px 14px 0;display:grid;grid-template-columns:32px 1fr;border-right:1px solid rgba(255,255,255,.18)}
.role-index a+ a{padding-left:24px}.role-index a:last-child{border-right:0}
.role-index b{font:8px var(--mono);font-weight:400;color:rgba(255,255,255,.42)}
.role-index span{font:500 17px/1.25 var(--display);letter-spacing:-.02em}
.role-index small{grid-column:2;margin-top:12px;font:7px var(--mono);letter-spacing:.12em;color:rgba(255,255,255,.44)}
.roles{background:rgba(236,236,230,.95);color:var(--ink)}
.role{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:clamp(70px,10vw,160px);padding:clamp(100px,11vw,170px) var(--pad);border-top:1px solid var(--line)}
.role>aside{align-self:start;position:sticky;top:116px}
.role h2{margin:34px 0 14px;font:500 clamp(34px,4vw,56px)/.98 var(--display);letter-spacing:-.055em}
.role h2 em{font-size:.62em;font-style:normal;color:var(--muted)}
.role-focus{margin:0 0 42px;color:var(--muted);font-size:12px;line-height:1.7}
.role dl{margin:44px 0 0;border-top:1px solid var(--line)}
.role dl div{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.role dt{font:8px var(--mono);letter-spacing:.1em;color:var(--muted)}
.role dd{margin:0;font-size:12px;line-height:1.65}
.role-body{max-width:850px}
.role-body section{display:grid;grid-template-columns:150px 1fr;gap:34px;padding:0 0 56px;margin:0 0 56px;border-bottom:1px solid var(--line)}
.role-body h3{margin:3px 0 0;font:400 26px/1.15 var(--serif)}
.role-body p,.role-body ul{margin:0;font-size:14px;line-height:1.9;color:#4f544e}
.role-body p+p{margin-top:18px}
.role-body ul{padding:0;list-style:none;counter-reset:item}
.role-body li{position:relative;padding:0 0 15px 30px}
.role-body li::before{counter-increment:item;content:counter(item,decimal-leading-zero);position:absolute;left:0;top:3px;font:7px var(--mono);letter-spacing:.06em;color:#8a8e88}
.application-note{padding:20px 24px;margin:-20px 0 38px!important;border-left:2px solid var(--ink);color:var(--ink)!important}
.apply-link{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-family:var(--serif);font-size:24px}
.apply-link span{font:8px var(--mono);letter-spacing:.08em}
.questions{background:rgba(132,218,207,.16);padding:34px!important;margin-left:-34px!important;margin-right:-34px!important;border-bottom:0!important}
.career-contact{min-height:86svh;padding:110px var(--pad) 30px;display:flex;flex-direction:column;justify-content:flex-end}
.career-contact h2{max-width:900px;margin:30px 0 54px;font:500 clamp(42px,5.5vw,78px)/.98 var(--display);letter-spacing:-.055em}
.career-contact>a{align-self:flex-start;font:400 clamp(24px,3vw,42px) var(--serif);border-bottom:1px solid;padding-bottom:10px}
.career-contact footer{display:flex;justify-content:space-between;margin-top:110px;padding-top:16px;border-top:1px solid rgba(255,255,255,.2);font:8px var(--mono);letter-spacing:.1em;color:rgba(255,255,255,.48)}

@media(max-width:800px){
  .career-hero{padding:110px 22px 32px}.career-hero h1{font-size:17vw}.hero-lead{font-size:12px}
  .role-index{grid-template-columns:1fr;margin-top:54px}.role-index a,.role-index a+a{min-height:auto;padding:15px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .role{grid-template-columns:1fr;gap:70px;padding:100px 22px}.role>aside{position:static}.role h2{font-size:12vw}.role dl{margin-top:34px}
  .role-body section{grid-template-columns:1fr;gap:24px;padding-bottom:44px;margin-bottom:44px}.role-body h3{font-size:28px}.role-body p,.role-body ul{font-size:13px}.questions{margin-left:0!important;margin-right:0!important;padding:24px!important}
  .apply-link{display:grid;gap:12px;font-size:25px}.career-contact{padding:90px 22px 26px}.career-contact h2{font-size:11.5vw}.career-contact footer{display:grid;gap:10px}
}

@media(max-width:1000px){
  .site-header{height:66px;grid-template-columns:1fr auto}.header-note,.desktop-nav,.back-link{display:none}.header-actions{margin:0}.menu-button{display:block}
  .mobile-nav{display:flex;position:fixed;z-index:70;inset:0;background:var(--cyan);color:var(--ink);padding:95px var(--pad) 40px;flex-direction:column;overflow-y:auto;transform:translateY(-105%);transition:transform .5s cubic-bezier(.16,1,.3,1)}
  .mobile-nav.is-open{transform:none}.mobile-nav a{font:500 clamp(30px,9vw,38px) var(--display);letter-spacing:-.045em;border-bottom:1px solid rgba(17,20,17,.25);padding:12px 0}
}

@media(min-width:1001px) and (max-width:1220px){.header-note{display:none}.site-header{grid-template-columns:1fr minmax(0,2.5fr) auto}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nav-popover,.mobile-nav{transition:none}}
