/* Career snapshots and the home timeline share the site's charcoal-and-gold palette. */
.career-page { background: #191a1b; color: #f3efe6; }
.career-page .container, .timeline-section .container { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.career-hero { padding-block: 56px 46px; }
.career-back { display: inline-block; margin-bottom: 48px; color: #a6a6a1; font-size: .8rem; }
.career-back:hover { color: #e2c386; }
.career-hero-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; }
.career-eyebrow { margin: 0 0 20px; color: #c5a059; font: 500 .68rem/1.6 Inter, sans-serif; letter-spacing: .18em; }
.career-hero h1 { margin: 0; font: 500 clamp(2.8rem, 5.2vw, 4.7rem)/1.15 Poppins, sans-serif; letter-spacing: -.055em; }
.career-hero h1 > span, .timeline-heading h2 > span { color: #c5a059; }
.career-hero-note { color: #9e9e99; font-size: .88rem; line-height: 1.8; margin: 0 0 7px; }
.career-intro { max-width: 700px; margin: 26px 0 32px; color: #b1b1aa; font-size: 1.06rem; line-height: 1.8; }
.career-page-meta { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid #363735; padding-top: 24px; color: #bdbdb5; font-size: .77rem; }
.career-page-meta > span { display: flex; align-items: center; gap: 10px; }
.career-page-meta a { color: #d9bd88; }
.career-page-meta a:hover { color: #f3dfb6; }
.career-live-dot { width: 6px; height: 6px; display: inline-block; background: #a9bd94; border-radius: 50%; box-shadow: 0 0 0 4px #a9bd9410; }
.career-jump-wrap { position: sticky; top: var(--nav-height, 80px); z-index: 20; background: #191a1bf5; border-block: 1px solid #343533; backdrop-filter: blur(16px); }
.career-jump { display: flex; align-items: center; gap: 32px; overflow-x: auto; scrollbar-width: thin; padding-block: 18px; }
.career-jump a { flex: 0 0 auto; display: flex; align-items: center; gap: 9px; color: #c8c8c0; font-size: .76rem; white-space: nowrap; }
.career-jump a:hover, .career-jump a[aria-current="location"] { color: #dfbd7e; }
.career-jump a > span { font-size: .64rem; color: #81847c; }
.career-list { padding-top: 18px; }
.career-entry { padding-block: 42px 52px; border-bottom: 1px solid #383936; scroll-margin-top: calc(var(--nav-height, 80px) + 84px); }
.career-card-topline { display: flex; align-items: center; gap: 16px; margin-bottom: 27px; color: #b6b8ae; font-size: .7rem; letter-spacing: .04em; }
.career-number { color: #c5a059; font-size: .74rem; }
.career-date { margin-left: auto; color: #8f9389; }
.career-card-grid { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.2fr); gap: 54px; align-items: start; }
.career-media { min-width: 0; overflow: hidden; border-radius: 4px; }
.career-artifact-button { position: relative; display: block; padding: 0; width: 100%; background: #202323; border: 1px solid #3d403b; border-radius: 4px; overflow: hidden; cursor: zoom-in; }
.career-artifact-button img { display: block; width: 100%; height: 290px; object-fit: contain; background: #252827; transition: transform .35s ease; }
.career-artifact-button:hover img { transform: scale(1.025); }
.career-artifact-overlay { position: absolute; bottom: 13px; right: 13px; display: inline-flex; align-items: center; gap: 24px; background: #191c1bf0; border: 1px solid #55584d; padding: 8px 12px; border-radius: 2px; color: #ecece1; font-size: .69rem; }
.career-artifact-overlay > span { color: #cfb173; font-size: 1rem; }
.career-metric { display: flex; align-items: center; gap: 17px; margin-top: 18px; padding-top: 17px; border-top: 1px solid #363a34; }
.career-metric strong { color: #d4bb8a; font: 500 1.65rem/1.2 Poppins, sans-serif; letter-spacing: -.05em; white-space: nowrap; }
.career-metric > span { max-width: 200px; color: #979c90; font-size: .7rem; line-height: 1.5; }
.career-secondary-artifact { display: block; margin-top: 15px; padding: 4px 0; border: 0; color: #c5b387; font: 500 .72rem/1.6 Inter, sans-serif; text-align: left; }
.career-organization { color: #c5a059; font-size: .7rem; letter-spacing: .06em; margin: 0 0 11px; }
.career-copy h2 { max-width: 580px; margin: 0 0 13px; font: 500 clamp(1.65rem, 2.5vw, 2.25rem)/1.3 Poppins, sans-serif; letter-spacing: -.04em; color: #f1efe7; }
.career-role { color: #d0cfc5; font-size: .79rem; margin: 0 0 17px; }
.career-summary { color: #a6aaa0; font-size: .88rem; line-height: 1.85; margin: 0 0 23px; }
.career-tech { list-style: none; display: flex; flex-wrap: wrap; gap: 7px; padding: 0; margin: 0 0 23px; }
.career-tech li { padding: 4px 8px; border: 1px solid #393e35; border-radius: 3px; color: #b8bcad; font-size: .63rem; line-height: 1.8; background: #232722; }
.career-details { border-block: 1px solid #383c34; }
.career-details summary { list-style: none; display: flex; justify-content: space-between; align-items: center; padding: 15px 0; cursor: pointer; color: #c7c7b9; font-size: .74rem; }
.career-details summary::-webkit-details-marker { display: none; }
.career-details summary > span { color: #c5a059; font-size: 1.2rem; transition: transform .2s ease; }
.career-details[open] summary > span { transform: rotate(45deg); }
.career-details ul { margin: 0; padding: 0 0 17px 17px; }
.career-details li { font-size: .8rem; line-height: 1.85; color: #a9afa0; padding-left: 5px; margin-bottom: 10px; }
.career-details li:last-child { margin-bottom: 0; }
.career-details li::marker { color: #b49b69; }
.career-place { margin: 14px 0 0; color: #a1a596; font-size: .67rem; }
.career-system-art { position: relative; height: 290px; overflow: hidden; border-radius: 4px; border: 1px solid #3d4036; background-color: #242720; color: #c9ae78; }
.career-system-agents { background-image: radial-gradient(ellipse at 50% 45%, #41422e80, transparent 70%); }
.career-system-art::after { content: ''; position: absolute; inset: 0; background-image: linear-gradient(#b3b78c06 1px, transparent 1px), linear-gradient(90deg, #b3b78c06 1px, transparent 1px); background-size: 30px 30px; pointer-events: none; }
.system-orbit { position: absolute; top: 44%; left: 50%; border: 1px solid #b5a57240; border-radius: 50%; transform: translate(-50%, -50%); }
.orbit-one { width: 160px; height: 160px; }
.orbit-two { width: 255px; height: 255px; border-color: #b5a57220; }
.system-node { position: absolute; z-index: 1; display: grid; place-items: center; font-size: .66rem; color: #c9c9ad; background: #26291f; border: 1px solid #727455; border-radius: 4px; padding: 8px 14px; }
.node-core { top: 44%; left: 50%; width: 58px; height: 58px; transform: translate(-50%, -50%); border-radius: 50%; font: 500 1.25rem Poppins, sans-serif; color: #ddc290; border-color: #b4a069; background: #333523; }
.node-one { left: calc(50% - 125px); top: 67px; }
.node-two { right: calc(50% - 137px); top: 109px; }
.node-three { left: calc(50% - 59px); top: 199px; }
.system-caption { position: absolute; bottom: 20px; left: 21px; color: #92967f; font-size: .54rem; letter-spacing: .19em; }
.system-coordinate { position: absolute; top: 18px; left: 21px; color: #9b9f88; font-size: .56rem; letter-spacing: .12em; }
.career-system-knowledge { background: #212927; }
.career-system-knowledge svg { display: block; width: 100%; height: 100%; padding: 18px 12px 26px; color: #b5b87e; }
.career-contact { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-block: 70px 78px; }
.career-contact .career-eyebrow { margin-bottom: 15px; }
.career-contact h2 { max-width: 650px; font: 500 clamp(1.6rem, 3vw, 2.35rem)/1.35 Poppins, sans-serif; letter-spacing: -.04em; margin: 0 0 16px; }
.career-contact p:last-child { margin: 0; color: #a6aaa0; font-size: .88rem; }
.career-contact-link { flex-shrink: 0; display: flex; justify-content: space-between; align-items: center; gap: 35px; background: #c5a059; color: #191a1b; padding: 14px 20px; font-size: .84rem; border-radius: 3px; }
.career-contact-link:hover { color: #191a1b; background: #ddbe85; }
.career-contact-link > span { font-size: 1.1rem; }
.career-footer-inner { display: flex; align-items: center; flex-wrap: wrap; gap: 20px 32px; }
.career-footer-inner .footer-name { font: 500 .86rem Poppins, sans-serif; }
.career-footer-inner .footer-name > span { color: #c5a059; }
.career-footer-inner > p { margin: 0; color: #8e9486; font-size: .69rem; }
.career-footer-links { margin-left: auto; display: flex; gap: 22px; font-size: .7rem; }
/* The complete life timeline fits the viewport; the route is a progressive enhancement. */
.timeline-section { border-top:1px solid #353632; padding-block:60px 48px; }
.timeline-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:28px; }
.timeline-heading .section-kicker { color:#c5a059; font-size:.65rem; letter-spacing:.18em; margin:0 0 15px; }
.timeline-heading h2 { margin:0 0 17px; font:500 clamp(2.2rem,4vw,3.5rem)/1.2 Poppins,sans-serif; letter-spacing:-.05em; color:#f3efe6; }
.timeline-intro { color:#aaa99f; font-size:.93rem; line-height:1.8; margin:0; }
.timeline-range { margin:0 0 5px; text-align:right; flex-shrink:0; }
.timeline-range > span:first-child { display:block; font:400 1.3rem/1.5 Poppins,sans-serif; color:#d6c4a1; letter-spacing:-.03em; }
.timeline-range > span:first-child > span { color:#7c755f; margin-inline:10px; }
.timeline-range > span:last-child { display:block; color:#8e9188; font-size:.71rem; margin-top:7px; }
.life-journey { width:min(1480px,calc(100% - 96px)); margin-inline:auto; }
.life-instructions { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0; padding-block:14px; border-top:1px solid #343631; color:#a2a398; font-size:.7rem; }
.life-keyboard-hint { color:#7f847a; font-size:.63rem; }
.life-keyboard-hint kbd { font:inherit; padding:1px 4px; border:1px solid #46483d; border-radius:2px; color:#bbb8a8; }
.life-map { position:relative; isolation:isolate; }
.life-events { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0; padding:0; list-style:none; }
.life-entry { --chapter-color:#c5a059; min-width:0; }
.life-entry[data-kind="life"],.life-legend [data-kind="life"] { --chapter-color:#d19a85; }
.life-entry[data-kind="education"],.life-legend [data-kind="education"] { --chapter-color:#a3b997; }
.life-card { position:relative; min-width:0; padding:20px 22px 22px; border:1px solid #4c483b; border-top:2px solid var(--chapter-color); background:#222422; color:#eeeae0; }
.life-card-meta { display:flex; align-items:center; flex-wrap:wrap; gap:5px 12px; padding-right:20px; font-size:.59rem; line-height:1.6; color:#a6aa9e; }
.life-kind { color:var(--chapter-color); text-transform:uppercase; letter-spacing:.1em; }
.life-card h3 { margin:14px 0 7px; font:500 1.14rem/1.4 Poppins,sans-serif; letter-spacing:-.025em; color:#f1eee5; }
.life-organization { font-size:.7rem; line-height:1.65; color:#c3c2b6; margin:0 0 12px; }
.life-description { color:#b1b4a8; font-size:.77rem; line-height:1.8; margin:0; }
.life-project-link { display:inline-flex; align-items:center; gap:20px; margin-top:15px; color:#d6ba81; font-size:.69rem; }
.life-project-link:hover { color:#f4dca9; }
.life-card-close { position:absolute; top:9px; right:9px; display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; background:transparent; color:#aaa99c; font:300 1.3rem/1 Inter,sans-serif; cursor:pointer; }
.life-card-close:hover { color:#f3e2bc; background:#c5a05912; }
.life-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-top:12px; padding-top:20px; border-top:1px solid #343631; }
.life-legend { list-style:none; padding:0; margin:0; display:flex; gap:22px; color:#a7aa9f; font-size:.67rem; }
.life-legend li { --chapter-color:#c5a059; display:flex; align-items:center; gap:8px; }
.life-legend li::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--chapter-color); }
.life-controls { display:flex; align-items:center; gap:10px; }
.life-controls button { width:44px; height:44px; display:grid; place-items:center; border:1px solid #4b4d41; border-radius:50%; background:transparent; color:#d6bd88; cursor:pointer; font-size:1rem; }
.life-controls button:hover:not(:disabled) { background:#c5a05915; border-color:#b49a65; }
.life-controls button:disabled { opacity:.3; cursor:default; }
.life-counter { min-width:58px; text-align:center; color:#a5a998; font-size:.66rem; font-variant-numeric:tabular-nums; letter-spacing:.08em; }
.life-cv-link { font-size:.71rem; color:#c5c4b7; }
.life-cv-link span { color:#c5a059; margin-left:12px; }
.life-cv-link:hover { color:#e7cc95; }
.life-status { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.life-node[hidden],.life-card[hidden],.life-card-close[hidden],.life-instructions[hidden],.life-controls[hidden],.life-route[hidden],.life-watermark[hidden] { display:none!important; }
.timeline-ready .life-events { display:block; }
.timeline-ready .life-map { height:460px; }
.timeline-ready .life-route { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; z-index:-1; }
.life-route-line { stroke:#b39861; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.life-route-leader { stroke:#b6a070; stroke-width:1; stroke-dasharray:3 4; vector-effect:non-scaling-stroke; opacity:.7; }
.life-watermark { position:absolute; top:12px; left:5%; color:#c5a059; opacity:.045; pointer-events:none; user-select:none; font:500 clamp(130px,14vw,210px)/1 Poppins,sans-serif; letter-spacing:-.09em; }
.timeline-ready .life-node { position:absolute; left:var(--point-x); top:var(--point-y); transform:translate(-50%,-50%); width:44px; height:44px; padding:0; border:0; background:transparent; cursor:pointer; color:#b5b6aa; z-index:1; -webkit-tap-highlight-color:transparent; }
.life-dot { position:absolute; top:50%; left:50%; width:10px; height:10px; border:2px solid var(--chapter-color); border-radius:50%; background:#191a1b; transform:translate(-50%,-50%); box-shadow:0 0 0 6px #191a1b; transition:background .18s ease,box-shadow .18s ease; }
.life-node-caption { position:absolute; top:calc(50% + 25px); left:50%; width:var(--label-width,85px); transform:translateX(-50%); text-align:center; line-height:1.5; }
.life-node-year { display:block; font-size:.72rem; font-weight:600; color:#c9c6b6; font-variant-numeric:tabular-nums; margin-bottom:3px; }
.life-node-label { display:block; font-size:.7rem; color:#9a9f92; }
.life-node:hover .life-dot,.life-node[aria-expanded="true"] .life-dot { background:var(--chapter-color); box-shadow:0 0 0 6px #191a1b,0 0 0 7px #9a8d6b70; }
.life-node[aria-expanded="true"] .life-node-year { color:var(--chapter-color); }
.life-node[aria-expanded="true"] .life-node-label { color:#e2ddce; }
.life-node:focus-visible,.life-card-close:focus-visible,.life-controls button:focus-visible { outline:2px solid #d7bd86; outline-offset:3px; border-radius:3px; }
.timeline-ready .life-card { position:absolute; top:12px; width:min(336px,100%); z-index:2; box-shadow:0 14px 32px #00000029; }
.timeline-ready .life-card::after { content:''; position:absolute; width:8px; height:8px; bottom:-5px; left:var(--pointer-x,50%); background:#222422; border-right:1px solid #4c483b; border-bottom:1px solid #4c483b; transform:translateX(-50%) rotate(45deg); }
.timeline-ready .life-card:not([hidden]) { animation:life-card-in .18s ease both; }
.life-map.is-measuring .life-card { animation:none!important; }
@keyframes life-card-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:1100px) {
 .life-journey { width:calc(100% - 64px); }
 .life-node-label { font-size:.65rem; }
}
@media (max-width:899px) {
 .timeline-section { padding-block:60px 48px; }
 .timeline-heading { align-items:flex-start; margin-bottom:26px; }
 .timeline-range { padding-top:16px; }
 .timeline-range > span:first-child { font-size:1rem; }
 .life-journey { width:calc(100% - 48px); }
 .life-events { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .life-watermark,.life-keyboard-hint { display:none; }
 .life-instructions { padding-block:15px; font-size:.7rem; }
 .life-node-caption { top:calc(50% + 23px); }
 .life-node-year { font-size:.7rem; margin-bottom:1px; }
 .life-node-label { font-size:.65rem; }
 .timeline-ready .life-card { width:100%; }
 .timeline-ready .life-card::after { display:none; }
 .life-card h3 { font-size:1.13rem; }
 .life-description { font-size:.79rem; }
 .life-footer { gap:15px; }
 .life-legend { gap:16px; }
 .life-cv-link { order:3; width:100%; padding-top:4px; }
}
@media (max-width:540px) {
 .timeline-heading { display:block; }
 .timeline-intro { font-size:.84rem; }
 .timeline-range { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:23px; text-align:left; }
 .timeline-range > span:first-child { font-size:.88rem; }
 .timeline-range > span:last-child { margin:0; font-size:.65rem; }
 .life-journey { width:calc(100% - 32px); }
 .life-events { grid-template-columns:1fr; }
 .life-card { padding:18px 19px 21px; }
 .life-card-meta { font-size:.58rem; }
 .life-legend { gap:13px; font-size:.61rem; }
 .life-controls { gap:4px; }
 .life-counter { min-width:44px; font-size:.6rem; }
 .life-cv-link { font-size:.67rem; }
}
@media (prefers-reduced-motion:reduce) {
 .life-dot { transition:none; }
 .timeline-ready .life-card:not([hidden]) { animation:none; }
}
@media (max-width: 1020px) {
 .career-card-grid { gap: 34px; }
 .career-artifact-button img, .career-system-art { height: 250px; }
 .node-three { top: 175px; }
 .node-one { top: 50px; }
 .node-two { top: 91px; }
 .career-jump { gap: 25px; }
}
@media (max-width: 760px) {
 .career-page .container, .timeline-section .container { width: calc(100% - 40px); }
 .career-hero { padding-block: 32px 30px; }
 .career-back { margin-bottom: 35px; }
 .career-hero-row { display: block; }
 .career-hero-note { margin-top: 19px; }
 .career-hero-note br { display: none; }
 .career-intro { font-size: .92rem; margin-top: 22px; }
 .career-page-meta { align-items: flex-start; font-size: .68rem; gap: 12px; }
 .career-page-meta > span { align-items: baseline; }
 .career-page-meta > a { white-space: nowrap; }
 .career-jump { gap: 24px; padding-block: 15px; }
 .career-card-grid { grid-template-columns: 1fr; gap: 26px; }
 .career-entry { padding-block: 30px 40px; }
 .career-card-topline { margin-bottom: 20px; font-size: .64rem; gap: 10px; }
 .career-artifact-button img { height: 280px; }
 .career-system-art { height: 280px; }
 .career-copy h2 { font-size: 1.8rem; max-width: 520px; }
 .career-metric { margin-top: 13px; padding-top: 13px; }
 .career-metric strong { font-size: 1.5rem; }
 .career-metric > span { max-width: none; }
 .career-contact { display: block; padding-block: 45px 50px; }
 .career-contact-link { width: max-content; margin-top: 25px; }
 .career-footer-inner { gap: 17px; }
 .career-footer-inner > p { width: 100%; }
 .career-footer-links { margin-left: 0; }
}
@media (max-width: 420px) {
 .career-page .container, .timeline-section .container { width: calc(100% - 32px); }
 .career-hero h1 { font-size: 2.55rem; }
 .career-card-topline { flex-wrap: wrap; }
 .career-artifact-button img, .career-system-art { height: 235px; }
 .career-page-meta { flex-direction: column; }
 .career-copy h2 { font-size: 1.6rem; }
}
@media (prefers-reduced-motion: reduce) {
 .career-artifact-button img, .career-details summary > span { transition: none; }
}
