/* Readable role chronology and selected work, with quiet green accents. */
.ap-career-timeline { width:min(calc(100% - 3rem),72rem); margin:3rem auto 0; color:var(--ap-evergreen,#24362B); scroll-margin-top:1.5rem; }
.ap-career-anchor { display:block; scroll-margin-top:2rem; }
.ap-career-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; margin-bottom:1.75rem; }
.ap-career-heading h2 { margin:0 0 .75rem; font-size:clamp(1.8rem,3vw,2.5rem); font-weight:500; letter-spacing:-.045em; line-height:1.15; }
.ap-career-heading p { margin:0; color:#58665A; font-size:1rem; line-height:1.6; }
.ap-career-library-link { flex:none; display:inline-flex; align-items:center; gap:.5rem; padding-block:.4rem; color:#31503C; font-size:.9375rem; text-underline-offset:.2em; }
.ap-career-controls { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; border-top:1px solid #BEC8B6; padding-top:1.3rem; }
.ap-career-controls>span { font-size:.9375rem; color:#526252; }
.ap-career-controls .ap-filter-buttons { gap:.5rem; }
.ap-career-controls .ap-filter-buttons button { min-height:44px; padding:.65rem 1rem; font-size:.9375rem; scroll-margin-top:2rem; }
.ap-career-status { margin:1rem 0 1.75rem; color:#5F6B5E; font-size:.875rem; line-height:1.6; }
.ap-career-columns { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.3fr); gap:clamp(2rem,4vw,3rem); align-items:start; }
.ap-career-employment,.ap-career-project-section { min-width:0; }
.ap-career-section-heading { min-height:5.25rem; margin-bottom:.75rem; padding-top:1.1rem; border-top:2px solid #74856C; }
.ap-career-section-heading h3 { margin:0 0 .45rem; font-size:1.125rem; line-height:1.35; font-weight:600; letter-spacing:-.015em; }
.ap-career-section-heading p { margin:0; color:#63705F; font-size:.875rem; line-height:1.5; }

.ap-career-roles { position:relative; list-style:none; padding:0; margin:0; }
.ap-career-roles::before { content:""; position:absolute; left:1.3rem; top:1.6rem; bottom:2.25rem; width:1px; background:#C0CCB7; }
.ap-career-role,.ap-career-project { --role-accent:#486E46; --role-tint:#E5ECDF; }
.ap-career-role[data-tone="systems"],.ap-career-project[data-tone="systems"] { --role-accent:#52678D; --role-tint:#E5EAF0; }
.ap-career-role[data-tone="machines"],.ap-career-project[data-tone="machines"] { --role-accent:#855D44; --role-tint:#EEE4D9; }
.ap-career-role[data-tone="leadership"] { --role-accent:#716A50; --role-tint:#ECE7DA; }
.ap-career-role-link { position:relative; display:grid; grid-template-columns:2.6rem minmax(0,1fr); gap:1rem; padding:.6rem 0 1.35rem; text-decoration:none; color:inherit; }
.ap-career-mark { position:relative; z-index:1; display:grid; place-items:center; width:2.6rem; height:2.6rem; border:1px solid #C0CCB7; background:var(--role-tint); color:var(--role-accent); font-size:.9375rem; font-weight:500; }
.ap-career-role-body { min-width:0; padding-bottom:1.35rem; border-bottom:1px solid #D5DCD0; }
.ap-career-role:last-child .ap-career-role-body { border-bottom:0; padding-bottom:0; }
.ap-career-role-meta { display:flex; align-items:baseline; flex-wrap:wrap; gap:.4rem .7rem; margin-bottom:.55rem; }
.ap-career-dates { margin:0; color:#596653; font-size:.875rem; line-height:1.5; font-variant-numeric:tabular-nums; }
.ap-career-now { padding:.1rem .45rem; border:1px solid #BBCDB0; border-radius:2px; color:#38633B; background:#EBF0E4; font-size:.875rem; line-height:1.45; }
.ap-career-role h4,.ap-career-project h4 { display:flex; justify-content:space-between; align-items:baseline; gap:.8rem; margin:0; font-size:1.125rem; line-height:1.4; font-weight:600; letter-spacing:-.02em; }
.ap-career-link-arrow { flex:none; color:var(--role-accent); font-size:1.15rem; font-weight:400; }
.ap-career-role-title { margin:.35rem 0 0; font-size:.9375rem; line-height:1.55; color:#354D3D; }
.ap-career-role-summary { margin:.65rem 0 0; font-size:.875rem; line-height:1.65; color:#5C695C; }
.ap-career-role-link:hover h4,.ap-career-role-link:focus-visible h4 { color:var(--role-accent); text-decoration:underline; text-underline-offset:.2em; }

.ap-career-projects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; list-style:none; padding:0; margin:0; }
.ap-career-project { min-width:0; }
.ap-career-project>a { display:flex; flex-direction:column; height:100%; padding:1.1rem; border:1px solid #CCD4C4; border-left:3px solid var(--role-accent); background:var(--ap-paper,#FCFBF7); color:inherit; text-decoration:none; }
.ap-career-project>a:hover { border-color:var(--role-accent); background:#F6F8F0; }
.ap-career-project-area { margin:0 0 .5rem; color:var(--role-accent); font-size:.875rem; line-height:1.5; }
.ap-career-project h4 { font-size:1.0625rem; }
.ap-career-project-summary { margin:.7rem 0 1rem; font-size:.875rem; line-height:1.65; color:#596859; }
.ap-career-project-facts { display:grid; gap:.35rem; margin:auto 0 0; padding-top:.85rem; border-top:1px solid #E0E5DA; font-size:.875rem; line-height:1.5; }
.ap-career-project-facts>div { display:grid; grid-template-columns:3.25rem minmax(0,1fr); gap:.4rem; }
.ap-career-project-facts dt { color:#66725F; font-weight:400; }
.ap-career-project-facts dd { margin:0; color:#3F533F; }
.ap-career-role-link:focus-visible,.ap-career-project>a:focus-visible,.ap-career-library-link:focus-visible { outline:2px solid #0B6B4F; outline-offset:4px; }

@media(max-width:60rem) {
  .ap-career-columns { grid-template-columns:1fr; gap:2rem; }
  .ap-career-section-heading { min-height:0; margin-bottom:1.25rem; }
  .ap-career-role-link { gap:1.15rem; }
}
@media(max-width:44rem) {
  .ap-career-timeline { width:calc(100% - 2.5rem); margin-top:2rem; }
  .ap-career-heading { flex-direction:column; gap:.75rem; margin-bottom:1.3rem; }
  .ap-career-heading h2 { font-size:1.9rem; }
  .ap-career-heading p { font-size:.9375rem; }
  .ap-career-library-link { padding-block:.3rem; }
  .ap-career-controls { align-items:flex-start; gap:.7rem; }
  .ap-career-controls>span { padding-top:.6rem; }
  .ap-career-controls .ap-filter-buttons { flex:1; }
  .ap-career-controls .ap-filter-buttons button { padding:.65rem .75rem; font-size:.875rem; }
  .ap-career-role-link { grid-template-columns:2.3rem minmax(0,1fr); gap:.85rem; padding-bottom:1rem; }
  .ap-career-mark { width:2.3rem; height:2.3rem; }
  .ap-career-roles::before { left:1.15rem; }
  .ap-career-role h4 { font-size:1.0625rem; }
  .ap-career-projects { grid-template-columns:1fr; }
  .ap-career-project>a { padding:1.1rem 1.15rem; }
  .ap-career-project h4 { font-size:1.125rem; }
  .ap-career-project-summary,.ap-career-project-facts { font-size:.875rem; }
}
@media(max-width:28rem) {
  .ap-career-controls { display:block; }
  .ap-career-controls>span { display:block; padding:0 0 .6rem; }
  .ap-career-controls .ap-filter-buttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media print {
  .ap-career-controls { display:none; }
  .ap-career-timeline { width:100%; }
  .ap-career-columns { display:block; }
  .ap-career-project-section { margin-top:1.5rem; }
  .ap-career-projects { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ap-career-role,.ap-career-project { break-inside:avoid; }
}
