/* ---------- the job traveler: pick a step, see the screen ---------- */
.jt{display:grid;gap:18px;margin-top:28px}
.jt-intro{display:grid;gap:10px}
.jt-intro p{font-size:var(--fs-lead);line-height:1.4;color:var(--ink);max-width:30em}
.jt-steps{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border:1px solid var(--line-2);border-radius:var(--r-l);background:var(--surface);overflow:hidden}
.jt-op{position:relative;display:grid;align-content:center;gap:3px;min-width:0;min-height:62px;padding:9px 12px;border:0;border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;transition:background-color .12s var(--ease),color .12s var(--ease)}
.jt-op{grid-column:span 3}
.jt-op:nth-of-type(1),.jt-op:nth-of-type(5){border-left:0}
.jt-op:nth-of-type(n+5){grid-column:span 4;border-bottom:0}
@media (max-width:399px){ .jt-op{padding:9px 9px} .jt-name{font-size:.9375rem} }
.jt-no{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--slate)}
.jt-name{font-size:1rem;font-weight:600;line-height:1.15}
.jt-wc,.jt-desc{display:none}
@media (hover:hover){ .jt-op:hover{background:var(--surface-2)} }
.jt-op[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.jt-op[aria-selected="true"] .jt-no{color:var(--surface-3)}
.jt-op:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}
.jt-card{min-width:0;border:1px solid var(--line-2);border-radius:var(--r-l);background:var(--surface);overflow:hidden}
.jt-strip{display:flex;align-items:center;gap:14px;padding:10px 14px;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.07em;text-transform:uppercase}
.jt-strip .jt-sample{margin-left:auto;color:var(--slate)}
.bc{display:inline-block;height:16px;line-height:0;color:var(--ink)}
.bc svg{display:block;height:100%;fill:currentColor}
.jt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--line)}
.jt-fields div{padding:10px 14px 12px;min-width:0;border-bottom:1px solid var(--line)}
.jt-fields .jt-f-qty,.jt-fields .jt-f-alloy{border-left:1px solid var(--line)}
.jt-fields .jt-f-part{grid-column:1 / -1}
.jt-fields .jt-f-cust,.jt-fields .jt-f-alloy{border-bottom:0}
.jt-fields dt{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--slate)}
.jt-fields dd{margin-top:4px;font-weight:600;line-height:1.25}
.jt-fields dd .mono{display:block;margin-top:2px;font-weight:400;font-size:.8125rem;color:var(--ink-2)}
.jt-view{display:grid;gap:14px;padding:14px;min-width:0}
.jt-panel{display:grid;gap:12px;min-width:0}
@media (prefers-reduced-motion:no-preference){ .jt-panel:not([hidden]){animation:panel-in .2s var(--ease-out)} }
@keyframes panel-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.jt-cap{font-size:var(--fs-small);line-height:1.45;color:var(--ink-2);max-width:44em;min-height:2.9em}
.jt-cap b{color:var(--ink);font-weight:600}
.jt-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.jt-step{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:1px solid var(--line-2);border-radius:var(--r-btn);background:transparent;color:var(--ink);font-weight:600;font-size:15px}
@media (hover:hover){ .jt-step:hover:not(:disabled){border-color:var(--ink)} }
.jt-step:disabled{opacity:.4;cursor:default}
.jt-step svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none}
.jt-pos{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--slate)}
@media (min-width:600px){
  .jt-fields{grid-template-columns:.7fr 1.4fr 1.25fr .85fr 1.55fr}
  .jt-fields div{border-bottom:0;border-left:1px solid var(--line)}
  .jt-fields div:first-child{border-left:0}
  .jt-fields .jt-f-part{grid-column:auto;order:1}
  .jt-fields .jt-f-cust{order:2}
  .jt-fields .jt-f-qty{order:3}
  .jt-fields .jt-f-alloy{order:4}
  .jt-view{padding:18px}
}
@media (min-width:600px) and (max-width:1023px){ .jt-fields div{padding-inline:12px} .jt-fields dd{font-size:.9375rem} }
/* desktop: the steps read as a routing list beside the traveler */
@media (min-width:1024px){
  .jt{grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:0 48px;align-items:start;margin-top:36px}
  .jt-intro{grid-column:1;margin-bottom:28px}
  .jt-steps{grid-column:1;grid-template-columns:1fr;border:0;border-radius:0;background:transparent;overflow:visible;border-top:1px solid var(--line-2)}
  .jt-op{grid-template-columns:62px minmax(0,1fr) auto;align-items:baseline;gap:4px 0;min-height:0;padding:16px 0 18px;border-left:0;border-bottom:1px solid var(--line);background:transparent;color:var(--slate)}
  .jt-op,.jt-op:nth-of-type(n+5){grid-column:auto}
  .jt-op:nth-of-type(n+5){border-bottom:1px solid var(--line)}
  .jt-no{grid-column:1;font-size:11.5px}
  .jt-name{grid-column:2;font-size:1.25rem;letter-spacing:-.01em}
  .jt-wc{display:block;grid-column:3;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--slate)}
  .jt-desc{display:block;grid-column:2 / -1;margin-top:4px;font-size:var(--fs-small);line-height:1.45;color:var(--slate)}
  @media (hover:hover){ .jt-op:hover{background:transparent;color:var(--ink)} }
  .jt-op[aria-selected="true"]{background:transparent;color:var(--ink)}
  .jt-op[aria-selected="true"] .jt-no{color:var(--ink)}
  .jt-op[aria-selected="true"] .jt-desc{color:var(--ink-2)}
  .jt-op .jt-no{justify-self:start;padding:2px 6px;margin-left:-6px;border-radius:var(--r-s);transition:background-color .2s var(--ease),color .2s var(--ease)}
  .jt-op[aria-selected="true"] .jt-no{background:var(--ink);color:var(--paper)}
  .jt-op:focus-visible{outline-offset:4px;border-radius:var(--r-s)}
  .jt-card{grid-column:2;grid-row:1 / span 2;position:sticky;top:calc(var(--hdr-h) + 24px)}
  .jt-view{padding:20px 22px 22px;gap:14px}
  .jt-cap{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
  .jt-nav{display:none}
  .jt-fields div{padding:11px 18px 13px}
}
/* sticky story: the traveler stays pinned while its steps scroll past (only when the screen is tall enough) */
@media (min-width:1024px) and (min-height:760px){
  .jt-op{min-height:clamp(150px, 21vh, 210px);align-content:start;padding:22px 0 26px}
  .jt-steps{padding-bottom:max(48px, calc(720px - 65vh))}
}
@media (min-width:1024px) and (max-height:759px){ .jt-card{position:relative;top:auto} }

