:root{--bg:#fff;--surface:#f7f9fc;--ink:#14233f;--muted:#56647b;--line:#e4e9f1;--blue:#275cb7;--tag:#f1f5fb;--shadow:0 8px 30px #19376608;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;line-height:1.75;-webkit-font-smoothing:antialiased}body.dark{--bg:#0d1524;--surface:#121e31;--ink:#e8eef9;--muted:#a7b5ca;--line:#24334b;--blue:#80abf2;--tag:#1a2940;--shadow:0 8px 30px #00000015;color-scheme:dark}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%}svg{display:block}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.wrap{width:min(1040px,calc(100% - 80px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--bg);padding:10px 20px}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line);transition:box-shadow .25s}.site-header.scrolled{box-shadow:var(--shadow)}.nav-wrap{width:min(1200px,calc(100% - 80px));margin:auto;min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}.wordmark{font-size:19px;font-weight:700;letter-spacing:-.6px;white-space:nowrap}.wordmark span{color:var(--blue)}nav{display:flex;align-items:center;gap:26px;margin-left:auto}nav a{font-size:11px;font-weight:500;color:var(--muted);position:relative;padding:26px 0}nav a:after{content:'';position:absolute;height:2px;bottom:17px;left:0;right:0;background:var(--blue);transform:scaleX(0);transition:transform .2s}nav a:hover,nav a.active{color:var(--blue)}nav a:hover:after,nav a.active:after{transform:scaleX(1)}.header-actions{display:flex;gap:15px;align-items:center}.theme-toggle{display:grid;place-items:center;width:32px;height:32px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.theme-toggle svg{width:15px;height:15px}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--surface),var(--bg));border-bottom:1px solid var(--line)}.hero-content{position:relative;text-align:center;padding-top:49px;padding-bottom:33px}.profile-photo{width:124px;height:124px;object-fit:cover;object-position:50% 32%;border-radius:50%;border:4px solid var(--bg);box-shadow:0 0 0 1px var(--line),0 8px 25px #14233f12;margin:0 auto 17px}.location{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px}.status-dot{width:6px;height:6px;background:#51926e;box-shadow:0 0 0 3px #51926e12;border-radius:50%;display:inline-block}.hero h1{font-size:clamp(42px,4.6vw,62px);letter-spacing:-2.6px;line-height:1.15;font-weight:700;margin-top:12px}.typed-line{font-size:15px;color:var(--blue);font-weight:500;min-height:27px;margin-top:13px}.type-cursor{margin-left:3px;animation:blink .8s infinite}.hero-description{font-size:13px;color:var(--muted);max-width:550px;margin:16px auto 0;line-height:1.85}.hero-actions{display:flex;justify-content:center;gap:12px;margin-top:24px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;font-size:11px;font-weight:600;border:1px solid transparent;padding:11px 20px;min-height:43px;border-radius:6px;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #183c7115}.button span{font-size:17px;line-height:1}.primary{background:#172e53;color:#fff}.dark .primary{background:#89b0ef;color:#0d1524}.secondary{border-color:var(--line);background:var(--bg);color:var(--ink)}.hero-affiliations{display:flex;justify-content:center;align-items:center;gap:20px;font-size:10px;font-weight:500;color:var(--muted);margin-top:37px}.hero-affiliations i{width:3px;height:3px;border-radius:50%;background:#a9b6c8}.hero-lines{position:absolute;inset:65px -100px 0;color:#789ad0;opacity:.14;pointer-events:none;mask-image:linear-gradient(90deg,#000,transparent 40%,transparent 60%,#000)}.hero-lines svg{height:100%;width:100%;animation:wave 14s ease-in-out infinite alternate}.section{padding-top:58px}.section-heading{display:flex;align-items:center;gap:22px;margin-bottom:27px}h2{font-size:25px;line-height:1.3;letter-spacing:-.8px;font-weight:650}h2>span{color:var(--blue)}.section-rule{height:1px;flex:1;background:var(--line)}.section-note{font-family:'JetBrains Mono',monospace;font-size:8px;color:var(--muted);letter-spacing:1px}.about-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:50px;align-items:start}.about-copy p{font-size:13px;line-height:1.95;color:var(--muted)}.about-copy p:first-child{color:var(--ink)}.about-copy p+p{margin-top:13px}.about-aside{background:var(--surface);padding:23px 26px;border:1px solid var(--line);border-radius:8px;display:grid;gap:18px}.about-aside>div{display:flex;flex-direction:column}.meta-label{font-family:'JetBrains Mono',monospace;font-size:8px;color:var(--muted);letter-spacing:1px;margin-bottom:5px}.about-aside strong,.about-aside a{font-size:12px;font-weight:600;line-height:1.7}.about-aside>div>span:last-child{font-size:10px;color:var(--muted);margin-top:2px}.about-aside a{display:flex;justify-content:space-between;align-items:center}.about-aside a:hover{color:var(--blue)}.experience-list{display:grid;gap:14px}.experience-card{display:grid;grid-template-columns:90px 1fr;gap:25px;border:1px solid var(--line);border-radius:9px;padding:27px;background:var(--bg);transition:border-color .25s,box-shadow .25s}.experience-card:hover{box-shadow:var(--shadow);border-color:#b9cbe5}.experience-card.featured{border-color:#c4d5ed;box-shadow:inset 3px 0 0 #2d5f9f;background:linear-gradient(105deg,var(--surface),var(--bg) 70%)}.logo-box{width:90px;height:72px;padding:8px;background:#fff;border:1px solid #e8edf3;border-radius:7px;display:flex;align-items:center;justify-content:center}.logo-box img{width:100%;height:100%;object-fit:contain}.job-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:11px}.job-heading h3{font-size:17px;line-height:1.4;font-weight:650;letter-spacing:-.35px}.job-title{font-size:12px;font-weight:500;margin-top:3px}.date{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--muted);white-space:nowrap;line-height:1.7;margin-top:4px}.experience-content>p:not(.job-program){font-size:12px;color:var(--muted);line-height:1.9}.experience-content>p+p{margin-top:9px}.experience-content .job-program{font-size:10px;font-weight:500;color:var(--blue);margin-bottom:11px}.experience-content ul{font-size:12px;line-height:1.85;color:var(--muted);padding-left:17px;margin:10px 0 0}.experience-content li{padding:2px 0 2px 2px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:17px}.tags>span{font-size:9px;background:var(--tag);border:1px solid var(--line);border-radius:4px;line-height:1.6;padding:3px 8px;color:var(--muted)}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.education-card{display:flex;flex-direction:column;align-items:flex-start;padding:28px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.school-logo{height:76px;width:80px;display:flex;align-items:center;justify-content:flex-start;padding:5px;background:#fff;border:1px solid #e8edf3;border-radius:7px;margin-bottom:22px}.school-logo img{width:100%;height:100%;object-fit:contain}.wide-logo{width:125px;padding:10px}.school-location{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:1px;color:var(--muted);margin-bottom:9px}.education-card h3{font-size:21px;letter-spacing:-.6px;line-height:1.4;min-height:59px}.school-name{font-size:12px;color:var(--muted);margin-top:6px}.degree{font-size:12px;font-weight:500;margin-top:20px}.education-card .date{font-size:10px;margin:5px 0 23px;white-space:normal}details{width:100%}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer}summary::-webkit-details-marker{display:none}.education-card details{border-top:1px solid var(--line);padding-top:15px;margin-top:auto;font-size:11px}.education-card summary span,.details-plus{font-size:20px;font-weight:400;transition:transform .2s}details[open] summary>span:last-child{transform:rotate(45deg)}details p{font-size:12px;color:var(--muted);margin-top:13px;line-height:1.85}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-card{border:1px solid var(--line);border-radius:9px;padding:24px;display:flex;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s;background:var(--bg)}.project-card:hover{transform:translateY(-4px);border-color:#b9cbe5;box-shadow:var(--shadow)}.project-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;margin-bottom:23px}.project-logo{width:91px;height:44px;background:white;border-radius:5px;display:grid;place-items:center;padding:3px}.project-logo img{width:100%;height:100%;object-fit:contain}.project-type{font-family:'JetBrains Mono',monospace;font-size:7px;color:var(--muted);letter-spacing:.5px}.project-icon{height:34px;width:34px;color:var(--blue);flex-shrink:0}.project-card h3{font-size:19px;letter-spacing:-.5px;margin-bottom:12px}.project-card>p{font-size:12px;color:var(--muted);line-height:1.9}.project-card .tags{margin-top:18px;margin-bottom:23px}.project-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:15px;margin-top:auto;color:var(--blue);font-size:11px;font-weight:600;min-height:40px}.project-link span{font-size:18px}.project-link:hover{text-decoration:underline}.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.skills-grid h3{font-size:12px;margin-bottom:15px;font-weight:600}.skill-list{display:flex;flex-wrap:wrap;gap:8px}.skill-list span{font-size:10px;padding:5px 10px;border:1px solid var(--line);background:var(--surface);border-radius:5px}.credentials{margin-top:28px;border-top:1px solid var(--line);padding-top:18px}.credentials summary{font-size:12px;font-weight:500}.credentials ul{display:grid;grid-template-columns:1fr 1fr;padding-left:17px;gap:8px;font-size:12px;color:var(--muted);margin-top:17px}.beyond-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:50px;align-items:center}.beyond-grid>p{font-size:13px;line-height:1.95;color:var(--muted)}.interests{display:grid;grid-template-columns:1fr 1fr;gap:10px}.interests span{padding:11px 14px;background:var(--surface);border:1px solid var(--line);border-radius:5px;font-size:11px;text-align:center}.contact-section{display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:32px;margin:55px 0 35px}.contact-section h2{font-size:24px}.contact-section p{font-size:12px;color:var(--muted);margin-top:10px}.email-address{display:inline-flex;align-items:center;gap:20px;font-size:12px;margin-top:12px;color:var(--blue);font-weight:500}.email-address:hover{text-decoration:underline}.contact-section .button{flex-shrink:0}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding-top:23px;padding-bottom:23px;font-size:10px;color:var(--muted)}footer a span{margin-left:15px}.motion-ready .reveal{opacity:0;transform:translateY(13px);transition:opacity .5s ease,transform .5s ease}.motion-ready .reveal.visible{opacity:1;transform:none}.hero-content{animation:appear .8s ease both}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes blink{50%{opacity:0}}@keyframes wave{to{transform:translate(3%,-4%) scale(1.03)}}
@media(max-width:1000px){.nav-wrap{gap:20px}nav{gap:19px}.project-card{padding:20px}.project-type{font-size:6px}.about-grid,.beyond-grid{gap:30px}.education-card h3{font-size:19px}.project-grid{gap:12px}.skills-grid{gap:20px}}
@media(max-width:800px){html{scroll-padding-top:85px}.wrap,.nav-wrap{width:calc(100% - 48px)}.nav-wrap{min-height:65px}.wordmark{font-size:18px}nav{display:none;position:absolute;top:65px;left:0;right:0;padding:14px 24px 20px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 14px 25px #162c4410;margin:0;grid-template-columns:1fr 1fr;gap:0 20px}nav.open{display:grid}nav a{padding:12px 8px;font-size:13px}nav a:after{bottom:7px;width:20px;left:8px}.menu-toggle{display:flex;justify-content:center;flex-direction:column;gap:5px;width:32px;height:32px;border:0;background:transparent;padding:5px}.menu-toggle span{width:22px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.header-actions{gap:13px}.hero-content{padding-top:40px}.hero h1{font-size:52px}.profile-photo{width:112px;height:112px}.about-grid{grid-template-columns:1.4fr 1fr;gap:25px}.about-aside{padding:20px}.experience-card{gap:20px;padding:23px;grid-template-columns:75px 1fr}.logo-box{width:75px;height:64px}.job-heading{flex-wrap:wrap;gap:4px}.job-heading .date{width:100%;margin-top:0}.project-grid{grid-template-columns:1fr;gap:16px}.project-card{padding:25px;display:grid;grid-template-columns:1fr auto;column-gap:20px}.project-top{grid-column:1/-1;margin-bottom:14px}.project-type{font-size:8px}.project-card>h3{grid-column:1/-1}.project-card>p{grid-column:1/-1;font-size:13px}.project-card .tags{grid-column:1;align-self:end;margin-bottom:0}.project-link{grid-column:2;border:0;gap:25px;padding-top:0;font-size:12px}.skills-grid{gap:20px}.beyond-grid{grid-template-columns:1.5fr 1fr;gap:25px}.contact-section{padding:26px}.contact-section .button{font-size:10px;gap:16px;padding-inline:15px}.education-card{padding:24px}.school-location{font-size:7px}.degree{font-size:11px}.education-card .date{font-size:9px}}
@media(max-width:580px){.wrap,.nav-wrap{width:calc(100% - 40px)}.hero-content{padding-top:33px;padding-bottom:27px}.profile-photo{width:100px;height:100px;border-width:3px;margin-bottom:15px}.hero h1{font-size:44px;letter-spacing:-1.8px;margin-top:10px}.location{font-size:9px}.typed-line{font-size:12px;min-height:23px;margin-top:12px}.hero-description{font-size:12px;max-width:355px;margin-top:13px;line-height:1.9}.hero-description br{display:none}.hero-actions{margin-top:22px}.hero-affiliations{gap:11px;font-size:8px;margin-top:28px}.hero-lines{inset:20px -180px 0;opacity:.13;mask-image:linear-gradient(90deg,#000,transparent 45%,transparent 55%,#000)}.button{font-size:11px;padding:10px 17px;min-height:43px;gap:21px}.section{padding-top:42px}.section-heading{margin-bottom:21px;gap:16px}h2{font-size:23px;letter-spacing:-.6px}.section-note{font-size:7px}.about-grid,.beyond-grid{grid-template-columns:1fr;gap:22px}.about-copy p{font-size:13px;line-height:1.9}.about-aside{grid-template-columns:1fr;gap:15px;padding:19px 21px}.about-aside>div{padding-bottom:13px;border-bottom:1px solid var(--line)}.about-aside>div:last-child{border:0;padding-bottom:0}.about-aside>div>span:last-child{font-size:11px}.meta-label{font-size:8px}.experience-card{grid-template-columns:1fr;padding:21px;gap:16px}.logo-box{width:79px;height:58px}.job-heading h3{font-size:17px}.job-heading{gap:5px;margin-bottom:13px}.job-title{font-size:12px}.job-heading .date{font-size:9px;margin-top:3px}.experience-content .job-program{font-size:10px;line-height:1.75}.experience-content>p:not(.job-program),.experience-content ul{font-size:12px;line-height:1.95}.experience-content ul{padding-left:15px}.tags{gap:6px;margin-top:15px}.tags>span{font-size:9px;padding:4px 7px}.experience-list{gap:13px}.education-grid{grid-template-columns:1fr;gap:15px}.education-card{padding:23px}.education-card h3{font-size:21px;min-height:0}.school-logo{height:67px;width:71px;margin-bottom:20px}.wide-logo{width:118px}.school-location{font-size:8px}.school-name{font-size:12px}.degree{font-size:12px;margin-top:18px}.education-card .date{font-size:10px;margin-bottom:21px}.education-card summary{min-height:30px;font-size:11px}.project-card{padding:22px;display:flex;gap:0}.project-card .tags{align-self:flex-start;margin:16px 0 20px}.project-link{align-self:stretch;border-top:1px solid var(--line);padding-top:13px;min-height:43px}.project-top{width:100%;margin-bottom:18px}.project-card>p{font-size:12px}.project-card h3{font-size:19px;margin-bottom:10px}.skills-grid{grid-template-columns:1fr;gap:24px}.skills-grid h3{font-size:13px;margin-bottom:12px}.skill-list span{font-size:11px;padding:5px 10px}.credentials{margin-top:24px}.credentials summary{min-height:32px}.credentials ul{grid-template-columns:1fr;gap:8px}.beyond-grid>p{font-size:13px;line-height:1.9}.interests{grid-template-columns:repeat(4,1fr);gap:7px}.interests span{font-size:9px;padding:9px 5px}.contact-section{padding:24px;flex-direction:column;align-items:flex-start;gap:21px;margin-top:40px;margin-bottom:27px}.contact-section h2{font-size:23px}.contact-section p{font-size:12px;line-height:1.85}.email-address{font-size:11px;gap:12px;overflow-wrap:anywhere}.contact-section .button{font-size:11px;gap:22px}footer{font-size:9px;padding-block:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.type-cursor{display:none}}
@media print{body{background:white;color:black}.site-header,.hero-lines,.hero-actions,.hero-affiliations,.theme-toggle{display:none}.wrap{width:100%}.section{padding-top:20px}.hero-content{padding:15px 0}.hero h1{font-size:32px}.profile-photo{width:80px;height:80px}.experience-card,.education-card,.project-card{break-inside:avoid}.reveal{opacity:1!important;transform:none!important}.contact-section{margin-top:20px;padding:15px}.experience-content>p,.about-copy p{color:#333}}

/* Small interaction refinements. */
.reading-progress{position:fixed;inset:0 0 auto;height:2px;z-index:50;pointer-events:none}
.reading-progress>span{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left;will-change:transform}
.hero-lines{opacity:.24}
.dark .hero-lines{opacity:.3}
.hero-lines svg{animation:wave-drift 12s ease-in-out infinite alternate;overflow:visible}
.hero-lines path{transform-origin:center;animation:wave-ripple 8s ease-in-out infinite alternate;vector-effect:non-scaling-stroke}
.hero-lines path:nth-child(2){animation-delay:-1s;animation-duration:9s}
.hero-lines path:nth-child(3){animation-delay:-2s;animation-duration:10s}
.hero-lines path:nth-child(4){animation-delay:-3s;animation-duration:9s}
.hero-lines path:nth-child(5){animation-delay:-4s;animation-duration:11s}
.hero-lines path:nth-child(6){animation-delay:-5s;animation-duration:10s}
.hero-lines path:nth-child(7){animation-delay:-6s;animation-duration:12s}
@keyframes wave-drift{from{transform:translate(-1%,-2%)}to{transform:translate(2%,3%)}}
@keyframes wave-ripple{from{transform:translateY(-12px) scaleY(.97)}to{transform:translateY(14px) scaleY(1.03)}}
.email-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.email-actions .email-address{margin-top:0}
.copy-email{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:5px;background:var(--bg);font:inherit;font-size:10px;color:var(--muted);transition:border-color .2s,color .2s}
.copy-email[hidden]{display:none}
.copy-email:hover{border-color:var(--blue);color:var(--blue)}
.copy-email svg{width:13px;height:13px}
.copy-email.copied{color:var(--blue);border-color:var(--blue)}
.logo-box,.school-logo{overflow:hidden;flex-shrink:0}
@media(max-width:580px){.copy-email{min-height:40px;padding-inline:12px}.email-actions{gap:9px}.hero-lines{opacity:.2}}
@media(prefers-reduced-motion:reduce){.hero-lines svg,.hero-lines path{animation:none!important;transform:none!important}}
@media print{.reading-progress,.copy-email{display:none}}
/* Expandable experience: company color, compact summary, full details on tap. */
.experience-card{--role-color:#356bac;--role-tint:#edf3fc;display:block;padding:0;overflow:hidden;border-color:color-mix(in srgb,var(--role-color) 28%,var(--line));background:linear-gradient(105deg,var(--role-tint),var(--bg) 78%);box-shadow:inset 3px 0 0 var(--role-color)}
.role-openfield{--role-color:#4e865e;--role-tint:#f0f7f0}
.role-oracle{--role-color:#b95248;--role-tint:#fcf1ef}
.role-prairie{--role-color:#8c7b63;--role-tint:#f7f4ed}
.role-blockchain{--role-color:#bb6a36;--role-tint:#fcf3eb}
.dark .experience-card{--role-tint:#15243a}
.dark .role-openfield{--role-tint:#142c27;--role-color:#75ad89}
.dark .role-oracle{--role-tint:#302127;--role-color:#dc867b}
.dark .role-prairie{--role-tint:#292820;--role-color:#b3a387}
.dark .role-blockchain{--role-tint:#2d251f;--role-color:#d29465}
.experience-card:hover{border-color:var(--role-color);box-shadow:inset 3px 0 0 var(--role-color),var(--shadow)}
.experience-summary{display:grid;grid-template-columns:90px minmax(0,1fr) 24px;gap:25px;align-items:center;padding:25px 27px;min-height:122px;cursor:pointer}
.experience-title{min-width:0}
.experience-summary .job-heading{margin:0;align-items:flex-start}
.experience-summary .job-title{margin-top:3px;color:var(--ink);font-size:12px;line-height:1.75}
.expand-hint{font-size:9px;display:block;color:var(--role-color);margin-top:8px;font-weight:500}
.when-open{display:none}
.experience-card[open] .when-open{display:inline}
.experience-card[open] .when-closed{display:none}
.experience-chevron{width:24px;height:24px;display:grid;place-items:center;color:var(--role-color);transition:transform .25s}
.experience-chevron svg{width:20px;height:20px}
.experience-card[open] .experience-chevron{transform:rotate(180deg)}
.experience-details{padding:0 76px 27px 142px;animation:appear .25s ease both}
.experience-details:before{content:'';display:block;height:1px;background:var(--line);margin-bottom:20px}
.experience-details>p:first-of-type{margin-top:0}
.experience-details .tags{margin-top:16px}
/* Project controls preserve the existing cards and layout. */
.project-filters{display:flex;gap:7px;flex-wrap:wrap;margin:-5px 0 20px}
.project-filters[hidden],.project-card[hidden]{display:none!important}
.project-filters button{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:8px 12px;min-height:37px;font-size:10px;color:var(--muted);transition:background .2s,color .2s,border-color .2s}
.project-filters button>span{font-family:'JetBrains Mono',monospace;font-size:8px;opacity:.7}
.project-filters button:hover{border-color:var(--blue)}
.project-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
/* Searchable command menu, available by touch or Ctrl/Cmd+K. */
.command-toggle{display:flex;align-items:center;gap:8px;height:32px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted)}
.command-toggle[hidden]{display:none}
.command-toggle svg{width:14px;height:14px}
.command-toggle kbd{font-family:'JetBrains Mono',monospace;font-size:9px;white-space:nowrap}
.command-dialog{width:min(540px,calc(100% - 32px));max-height:min(620px,calc(100dvh - 48px));padding:0;border:1px solid var(--line);border-radius:13px;background:var(--bg);color:var(--ink);box-shadow:0 30px 100px #0005;overflow:hidden}
.command-dialog[open]{display:flex;flex-direction:column;animation:appear .18s ease both}
.command-dialog::backdrop{background:#09132699;backdrop-filter:blur(5px)}
.command-header{display:flex;align-items:center;justify-content:space-between;padding:17px 20px 10px;gap:15px}
.command-header h2{font-size:13px;letter-spacing:0;font-weight:600}
.command-close{width:32px;height:32px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--muted);font-size:12px}
#command-search{display:block;flex-shrink:0;width:calc(100% - 40px);margin:0 20px 15px;padding:12px 13px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px;outline-offset:2px}
#command-search:focus{outline:2px solid var(--blue)}
#command-search::placeholder{color:var(--muted);font-size:12px}
.command-results{overflow-y:auto;overscroll-behavior:contain;padding:0 10px 10px;min-height:0}
.command-results a{display:flex;align-items:center;justify-content:space-between;padding:12px;gap:18px;border-radius:6px;font-size:12px;min-height:60px;border:1px solid transparent}
.command-results a[hidden],.command-empty[hidden]{display:none}
.command-results a:hover,.command-results a.selected{background:var(--tag);border-color:var(--line)}
.command-results a small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.command-results a>span:last-child{color:var(--blue)}
.command-empty{padding:15px 22px 28px;font-size:12px;color:var(--muted)}
.command-footer{display:flex;justify-content:space-between;padding:11px 20px;border-top:1px solid var(--line);font-size:9px;color:var(--muted);flex-shrink:0;background:var(--surface)}
.footer-divider{padding-inline:8px;opacity:.5}
body.command-open{overflow:hidden}
@media(max-width:1000px){nav{gap:15px}.nav-wrap{gap:18px}.header-actions{gap:10px}.command-toggle kbd{display:none}}
@media(max-width:800px){.experience-summary{grid-template-columns:75px minmax(0,1fr) 22px;gap:20px;padding:23px}.experience-details{padding:0 65px 24px 118px}}
@media(max-width:580px){.experience-summary{grid-template-columns:59px minmax(0,1fr) 18px;gap:12px;padding:21px 18px;min-height:119px}.experience-summary .logo-box{width:59px;height:54px;padding:6px}.experience-summary .job-heading h3{font-size:15px}.experience-summary .job-title{font-size:11px}.experience-summary .date{font-size:8px}.experience-summary .job-heading{display:block}.experience-summary .date{display:block;margin-top:5px;white-space:normal}.experience-details{padding:0 22px 23px}.expand-hint{font-size:8px;margin-top:7px}.experience-chevron{width:18px}.project-filters{gap:6px}.project-filters button{padding:9px 11px;min-height:42px}.command-toggle{width:34px;height:34px;justify-content:center}.command-dialog{max-height:calc(100dvh - 32px)}.command-header{padding:13px 16px 8px}#command-search{width:calc(100% - 32px);margin-inline:16px}.command-footer{font-size:8px;padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.experience-details,.command-dialog[open]{animation:none!important}.experience-chevron{transition:none}}
@media print{.command-toggle,.command-dialog,.project-filters{display:none!important}.experience-card{break-inside:avoid}}
