/* Personal palette from the supplied Neon Green Professional Palette.
   One consistent identity throughout employment, education and progression. */
.deliverable-story{margin:18px 0;display:grid;gap:16px}.deliverable-story dt{color:var(--link);font-size:14px;font-weight:700;margin-bottom:5px}.deliverable-story dd{margin:0;color:var(--ink);font-size:16px;line-height:1.6}.progression-change{margin:22px 0 14px;color:var(--ink)}.progression-change strong,.progression-change span{display:block}.progression-change strong{color:var(--link);margin-bottom:6px}.progression-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.progression-comparison dt{font-size:14px;color:var(--muted)}.progression-comparison dd{margin:6px 0;line-height:1.5}.progression-comparison dd>span:first-child{color:var(--muted)}.role-sharing{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0}.role-sharing button{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:10px 16px;color:var(--link);min-height:44px}.role-sharing span{font-size:14px}.role-sharing input{max-width:100%;background:var(--paper);color:var(--ink)}button,.cv-link,.linkedin-link{min-height:44px}.cv-link,.linkedin-link{display:inline-flex;align-items:center}a,button,input{outline-offset:4px}.document a{overflow-wrap:anywhere;display:inline-flex;align-items:center;min-height:44px}.document{min-width:0}.profile-portrait{aspect-ratio:1}.submilestone small,.station small,.type-tag{font-size:14px}.growth-name{overflow-wrap:normal}.growth-step{min-width:0}html{scroll-padding-top:120px}@media(max-width:760px){.progression-comparison{grid-template-columns:1fr;gap:10px}.progression-comparison>div{border-top:1px solid var(--line);padding-top:10px}.role-sharing{align-items:flex-start}.journey-controls{gap:8px}.journey-controls button{padding:8px}.journey-controls input{min-width:0;flex:1}.linkedin-link{padding:7px 10px}header{gap:8px}.section-title{flex-wrap:wrap}.section-title h3{min-width:0}}@media(max-width:420px){header nav{gap:8px}header nav a{font-size:14px}.cv-link{margin-left:auto}.theme-toggle{padding:7px 10px}.linkedin-link,.cv-link{font-size:14px}header .brand{font-size:22px}.story-name h1{overflow-wrap:anywhere}.growth-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.portrait-dark{display:none!important}body.dark .portrait-dark{display:block!important}body.dark .portrait-light{display:none!important}.linkedin-link{flex:none;border:1px solid var(--link);color:var(--link);border-radius:7px;padding:8px 14px;font-size:15px;font-weight:700;white-space:nowrap}.linkedin-link:hover{background:var(--pale)}
:root{--blue:#167509;--link:#167509;--ink:#0b0b0b;--muted:#59616e;--line:#d1d5db;--pale:#d9ffd0;--paper:#fff;--bg:#f8fafc;--nav:#ffffffef;--neon:#39ff14;--cyan:#167509;--shadow:0 12px 38px #0b0b0b08}
body.dark{--blue:#39ff14;--link:#39ff14;--ink:#e5e7eb;--muted:#d1d5db;--line:#374151;--pale:#1f2933;--paper:#111111;--bg:#0b0b0b;--nav:#111111ef;--neon:#39ff14;--cyan:#39ff14;--shadow:none}
.story-name h1{color:var(--ink)}.story-name>p:last-child{color:var(--link)}
.cv-link{flex:none;background:var(--neon);color:#0b0b0b;padding:9px 17px;border-radius:7px;font-weight:700;font-size:15px;white-space:nowrap}.cv-link:hover{background:#2ed80f;color:#0b0b0b}
.role-heading{border-top:5px solid var(--neon);background:linear-gradient(115deg,var(--pale),var(--paper) 70%)}
.role-panel .icon,.leadership-journey .icon{color:var(--blue)}
.role-panel .type-tag:before{background:var(--neon)}
.growth-step.reached .rung,.growth-progress span{background:var(--neon)}
.growth-step[aria-pressed=true]{border-color:var(--neon);background:var(--pale)}
.growth-ladder{grid-template-columns:repeat(6,minmax(0,1fr))}
.timeline .station[aria-pressed=true]{box-shadow:inset 0 -4px var(--neon);background:var(--pale)}
.timeline .station[aria-pressed=true],.timeline .station[aria-pressed=true] strong{color:var(--ink)}
.timeline .station[aria-pressed=true] .station-year,.timeline .station[aria-pressed=true] small{color:var(--muted)}
.timeline-submilestones{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity}.submilestone{flex:0 0 auto;scroll-snap-align:center}.submilestone strong{font-size:14px}.submilestone small{font-size:12px}
.submilestone.related{border-color:var(--link);box-shadow:inset 0 -2px var(--neon)}
.submilestone[aria-pressed=true],.timeline .station[aria-pressed=true] .station-dot{background:var(--neon);color:#0b0b0b}.timeline .station[aria-pressed=true] .station-dot .icon{color:#0b0b0b}
.role-panel,.role-heading,.metric,.architecture-map,.growth-step{transition:border-color .25s,background-color .25s,color .25s}
@media(max-width:900px){header{gap:12px;flex-wrap:wrap;height:auto;min-height:70px;padding-top:10px;padding-bottom:10px}header nav{gap:14px}.growth-ladder{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){header .brand{font-size:24px}header nav{order:3;width:100%;margin:0;justify-content:space-between}header nav a:first-child{font-size:14px}header nav a:first-child:after{content:none}.cv-link{margin-left:auto;font-size:14px;padding:7px 12px}.theme-toggle{font-size:14px}.growth-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}html{scroll-padding-top:115px}}
@media(prefers-reduced-motion:reduce){.role-panel,.role-heading,.metric,.architecture-map,.growth-step{transition:none}}

.portrait-intro{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:40px}.profile-portrait{display:block;width:220px;height:220px;object-fit:contain;background:#0b0b0b;border:3px solid var(--neon);border-radius:24px;box-shadow:0 12px 32px #0002}.portrait-intro .story-name{min-width:0}@media(max-width:720px){.portrait-intro{grid-template-columns:minmax(0,1fr) 150px;gap:22px}.profile-portrait{width:150px;height:150px;border-radius:18px}.portrait-intro .story-name h1{font-size:32px}}@media(max-width:520px){.portrait-intro{grid-template-columns:1fr;gap:22px}.profile-portrait{grid-row:1;width:160px;height:160px}.portrait-intro .story-name h1{font-size:36px}}
