/* Experience: section header, career bus timeline and role cards. */
.xp .eyebrow::before{filter:brightness(1.4)}
.xp .eyebrow.xpe{font-size:19px;font-weight:600;letter-spacing:.2em;gap:16px;margin-bottom:18px}
.xp .eyebrow.xpe::before{display:none}
.tl{width:124px;height:24px;flex:none;overflow:visible}
.tl-l{stroke:rgba(224,138,88,.3);stroke-width:1.6}
.tl-p{stroke:#e08a58;stroke-width:1.8;stroke-dasharray:124;stroke-dashoffset:124;animation:tlrun 4.4s linear infinite}
.tl-pins path{stroke:#8fa0af;stroke-width:1.2}
.tl-d{fill:#ffe3cf;filter:drop-shadow(0 0 3px #e08a58)}
.tl rect{fill:#34404c;stroke:#8fa0af;stroke-width:1.2;animation:tlchip 4.4s linear infinite}
.tl .c1{animation-delay:-3.9s}
.tl .c2{animation-delay:-2.75s}
.tl .c3{animation-delay:-1.6s}
.tl .c4{animation-delay:-.5s;stroke-dasharray:2 2}
@keyframes tlrun{to{stroke-dashoffset:0}}
@keyframes tlchip{0%{fill:#e08a58;stroke:#ffe3cf}30%,100%{fill:#34404c;stroke:#8fa0af}}
@media (prefers-reduced-motion:reduce){
  .tl-p,.tl rect{animation:none}
  .tl-p{stroke-dashoffset:0}
  .tl-d{display:none}
}
.xp{background:var(--si-2);color:var(--si-txt);padding:96px 0 104px;margin-top:20px}
.xp .eyebrow{color:var(--cu-hi)}
.xp h2{color:#f4ecd8}
.jobs{margin-top:52px;display:grid;gap:22px}
.job{display:grid;gap:0;background:var(--card);color:var(--ink);border-radius:14px;overflow:hidden;box-shadow:0 20px 40px -24px rgba(0,0,0,.6);grid-template-columns:230px minmax(0,1fr);scroll-margin-top:30px}
.job .side{padding:26px 22px;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:14px}
.logo{aspect-ratio:2/1;border-radius:9px;display:grid;place-items:center;text-transform:uppercase;font-weight:800}
.when{color:var(--muted);display:grid;gap:7px;font:400 12px/1.4 var(--mono);font-size:var(--t-meta)}
.when b{display:block;color:var(--ink);font-weight:500;margin-bottom:2px}
.when span{display:block}
.job .body{padding:26px 30px 28px}
.job h3{font-family:var(--serif);font-weight:500;letter-spacing:-.02em;line-height:1.15;font-size:var(--t-h3)}
.job .plain{margin-top:10px;line-height:1.65;color:var(--muted);max-width:60ch;font-size:var(--t-body)}
.job ul{list-style:none;padding:0;margin-top:16px;display:grid;gap:9px}
.job li{position:relative;padding-left:20px;line-height:1.55;font-size:var(--t-sec)}
.job li::before{content:"";position:absolute;left:0;top:.7em;width:10px;height:2px;background:var(--cu)}
.job .side .logo{width:100%;aspect-ratio:5/2;padding:14px 16px;border-radius:9px;display:grid;place-items:center;background:var(--si-2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.logo svg,.logo img{display:block;width:100%;height:auto;max-height:100%}
a.logo{position:relative;text-decoration:none;transition:transform .25s,box-shadow .25s}
a.logo::after{content:"Visit site ↗";position:absolute;right:8px;bottom:5px;font:500 9.5px var(--mono);letter-spacing:.08em;color:var(--cu);opacity:0;transform:translateY(4px);transition:.25s}
a.logo.dark::after,a.logo.dark2::after{color:#e08a58}
a.logo:hover{transform:translateY(-3px);box-shadow:0 14px 22px -12px rgba(30,20,8,.55)}
a.logo:hover::after{opacity:1;transform:none}
.job .side .logo.light{background:#fffaf0;box-shadow:inset 0 0 0 1px var(--rule)}
.job .side .logo.dark{background:#111418}
.job .side .logo.dark2{background:#26303a}
@media (max-width:820px){
  .job .side .logo{width:140px;flex:none}
  .job{grid-template-columns:1fr}
  .job .side{border-right:0;border-bottom:1px solid var(--rule);flex-direction:row;align-items:center;gap:16px}
  .job .side .logo{width:130px;flex:none}
}
.cbus{margin-top:40px;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-items:center}
.cb-track{position:relative;height:78px}
.seg{position:absolute;top:6px;bottom:6px;left:calc(var(--a)*1%);width:calc((var(--b) - var(--a))*1% - 4px);display:flex;flex-direction:column;justify-content:center;padding:0 16px 0 20px;text-decoration:none;color:#f4ecd8;background:rgba(224,138,88,.16); clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%,0 50%);transition:background .25s,transform .25s;overflow:hidden}
.seg b{font:600 var(--t-small) var(--sans);white-space:nowrap}
.seg .st1{margin-top:2px;font:500 11.5px var(--sans);color:#efe2cf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seg:hover{background:#a8481f}
.seg:hover .st1{color:#ffe3cf}
.seg.open{clip-path:polygon(12px 0,100% 0,100% 100%,12px 100%,0 50%);background:linear-gradient(90deg,#413b3b calc(var(--p,100)*1%),transparent calc(var(--p,100)*1%)),repeating-linear-gradient(135deg,rgba(224,138,88,.16) 0 6px,rgba(224,138,88,.04) 6px 12px)}
.seg.open.future{--p:0}
.seg.open:hover{background:#a8481f}
.now{position:absolute;top:-4px;bottom:-4px;left:calc(var(--x)*1%);width:0;border-left:2px solid #e08a58;font-style:normal;z-index:2}
.now::after{content:"";position:absolute;left:-5px;bottom:-5px;width:8px;height:8px;border-radius:50%;background:#e08a58;box-shadow:0 0 8px #e08a58}
.now em{position:absolute;top:-18px;left:-14px;font:500 var(--t-label) var(--mono);color:#e08a58;font-style:normal}
.cb-years{position:relative;height:16px}
.cb-years span{white-space:nowrap;position:absolute;left:calc(var(--x)*1%);font:400 var(--t-label) var(--mono);color:#6f8191}
@media (max-width:820px){
  .seg{padding:0 14px}
}
@media (max-width:900px){
  .cbus{overflow-x:auto;padding:22px 0 6px}
  .cb-track,.cb-years{min-width:960px}
  .cbus{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent)}
  .cbus.at-start{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
  .cbus.at-end{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px);mask-image:linear-gradient(90deg,transparent,#000 36px)}
}
@media (max-width:520px){
  .seg{padding:0 12px}
  .cb-years span{font-size:9.5px}
}
.when>*{position:relative;display:block;padding-left:22px}
.when>*::before{content:"";position:absolute;left:0;top:1px;width:14px;height:14px;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.when .w-date{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Crect x='2' y='3' width='12' height='11' rx='2'/%3E%3Cpath d='M2 7h12M5 1.5v3M11 1.5v3'/%3E%3C/svg%3E");color:var(--cu);font-weight:600;letter-spacing:.04em;margin:0}
.when .w-title{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Crect x='2' y='4' width='12' height='10' rx='2'/%3E%3Cpath d='M6 4V2.5h4V4M2 8.5h12'/%3E%3C/svg%3E");color:var(--ink);font:600 13px/1.35 var(--sans)}
.when .w-team{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Crect x='4' y='4' width='8' height='8' rx='1.5'/%3E%3Cpath d='M6 1.5v2.5M10 1.5v2.5M6 12v2.5M10 12v2.5M1.5 6H4M1.5 10H4M12 6h2.5M12 10h2.5'/%3E%3C/svg%3E");color:var(--muted)}
.when .w-loc{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Cpath d='M8 14.5s5-4.5 5-8.5a5 5 0 0 0-10 0c0 4 5 8.5 5 8.5z'/%3E%3Ccircle cx='8' cy='6' r='1.8'/%3E%3C/svg%3E");color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.w-mode{font-style:normal;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:99px;border:1px solid currentColor}
.m-hybrid{color:#2f6f6a}
.m-remote{color:#6a4fa0}
.eyebrow.xpe{font-size:var(--t-section)}
a.logo::after{font-size:var(--t-label)}
/* Swipe hint for the timeline on narrow screens; hidden once the visitor scrolls it. */
.cb-hint{display:none;align-items:center;gap:8px;margin:28px 0 -14px;font:500 var(--t-label) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cu-hi);transition:opacity .4s}
.cb-hint span{display:inline-block;animation:nudge 1.6s ease-in-out infinite}
.cb-hint.done{opacity:0}
@media (max-width:900px){
  .cb-hint{display:flex}
}
@keyframes nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(-6px)}}
@media (prefers-reduced-motion:reduce){
  .cb-hint span{animation:none}
}
