.experience-entry[data-astro-cid-2xbdyhdp]{border-top:1px solid var(--line);padding:16px 0}.experience-heading[data-astro-cid-2xbdyhdp]{align-items:flex-start;gap:12px;display:flex}.experience-heading[data-astro-cid-2xbdyhdp] img[data-astro-cid-2xbdyhdp]{object-fit:contain;flex-shrink:0;width:34px;height:34px}.experience-title[data-astro-cid-2xbdyhdp]{flex:1;min-width:0}.experience-heading[data-astro-cid-2xbdyhdp] h3[data-astro-cid-2xbdyhdp]{margin:0;font-size:1rem;line-height:1.4}.experience-heading[data-astro-cid-2xbdyhdp] .experience-role[data-astro-cid-2xbdyhdp]{margin:3px 0 0;font-size:.82rem;line-height:1.4}.experience-role[data-astro-cid-2xbdyhdp] span[data-astro-cid-2xbdyhdp]{color:var(--muted);font-weight:400}.experience-heading[data-astro-cid-2xbdyhdp] .experience-project[data-astro-cid-2xbdyhdp]{margin:3px 0 0;font-size:.8rem;line-height:1.4}.experience-heading[data-astro-cid-2xbdyhdp] .experience-dates[data-astro-cid-2xbdyhdp]{color:var(--muted);white-space:nowrap;margin:2px 0 0;font-size:.73rem;line-height:1.4}.experience-product-summary[data-astro-cid-2xbdyhdp]{color:var(--ink-soft);margin:7px 0 0 46px;font-size:.79rem;font-weight:500;line-height:1.4}.experience-links[data-astro-cid-2xbdyhdp]{margin:5px 0 0 46px}.experience-website[data-astro-cid-2xbdyhdp]{margin-top:2px;font-size:.78rem;display:inline-block}@media (width<=1000px){.experience-heading[data-astro-cid-2xbdyhdp]{flex-wrap:wrap}.experience-heading[data-astro-cid-2xbdyhdp] .experience-dates[data-astro-cid-2xbdyhdp]{width:100%;margin:0 0 0 46px}}@media (width<=500px){.experience-links[data-astro-cid-2xbdyhdp],.experience-product-summary[data-astro-cid-2xbdyhdp]{margin-left:0}}.cv-hero{border-bottom:1px solid var(--line);background:linear-gradient(115deg,#f7fafc,#e7f1f9);padding:30px 0}.cv-hero-inner{justify-content:space-between;align-items:center;gap:30px;display:flex}.cv-hero h1{letter-spacing:-.04em;margin:0 0 10px;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.15}.cv-role{margin:0 0 8px;font-weight:600}.cv-intro{max-width:620px;color:var(--ink-soft);margin:0}.cv-portrait{object-fit:cover;border:4px solid #fff;border-radius:50%;width:140px;height:140px}.cv-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:620px;margin-top:18px;display:grid}.cv-actions .button{gap:8px;min-height:34px;padding:3px 8px;font-size:.8125rem;line-height:1.3}@media (width<=900px){.cv-actions .button{min-height:44px}}.cv-grid{grid-template-columns:155px minmax(0,1fr) 210px;align-items:start;gap:26px;padding-block:28px;display:grid}.cv-navigation{gap:3px;display:grid;position:sticky;top:95px}.cv-navigation a{border-left:2px solid #0000;padding:9px 10px;font-size:.8rem}.cv-navigation a:hover,.cv-navigation a:focus-visible{background:var(--blue-pale);border-color:var(--accent)}.cv-content{min-width:0}.cv-section{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:26px;scroll-margin-top:100px}.cv-page #full-list{scroll-margin-top:100px}.cv-page h2{letter-spacing:-.02em;margin:0 0 16px;font-size:1.35rem;font-weight:600;line-height:1.3}.cv-page h3{margin:16px 0 8px;font-size:1.05rem}.cv-page h4{margin:10px 0;font-size:.94rem}.cv-content p,.cv-content li{color:var(--ink-soft);font-size:.94rem;line-height:1.65}.cv-content p{margin:0 0 12px}.cv-content a{color:var(--accent);overflow-wrap:anywhere}.cv-content a:hover{text-decoration:underline}.cv-content ul{padding-left:20px}.cv-content blockquote{border-left:3px solid var(--accent);background:var(--surface);margin:18px 0;padding:12px 18px}.cv-content blockquote p{margin:0}.cv-summary{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:18px}.cv-summary h2{margin:20px 0 10px;font-size:1rem}.cv-summary h2:first-child{margin-top:0}.cv-summary dl{margin:0}.cv-summary dt{color:var(--muted);margin-top:12px;font-size:.73rem}.cv-summary dd{margin:3px 0 0;font-size:.85rem}.cv-summary ul{color:var(--ink-soft);padding-left:17px;font-size:.8rem}.cv-summary li{margin-bottom:7px}.cv-text-link{color:var(--accent);margin-top:8px;font-size:.85rem;display:block}.cv-legacy .avatar img{object-fit:contain;width:38px;height:38px}.cv-legacy .card .card{border-top:1px solid var(--line);padding:18px 0}.cv-legacy .card .card>.row{grid-template-columns:145px minmax(0,1fr);gap:18px;display:grid}.cv-legacy .small{font-size:.78rem}.cv-legacy .card-header p{font-size:.8rem}.cv-legacy .card-header .card-title{font-weight:600}.cv-legacy .card-body>h3:first-child{margin-top:0}.cv-legacy .card-header .avatar{margin-bottom:10px}.cv-skills li{margin-bottom:8px}.cv-page a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=1050px){.cv-grid{grid-template-columns:145px minmax(0,1fr)}.cv-summary{grid-column:2}.cv-portrait{width:110px;height:110px}}@media (width<=700px){.cv-grid{grid-template-columns:1fr;gap:22px}.cv-navigation{flex-wrap:wrap;gap:5px;display:flex;position:static}.cv-navigation a{border:1px solid var(--line);border-radius:3px;padding:8px}.cv-summary{grid-column:1}.cv-hero-inner{align-items:flex-start;gap:12px}.cv-portrait{width:68px;height:68px}.cv-role{font-size:.9rem}.cv-legacy .card .card>.row{grid-template-columns:1fr;gap:10px}.cv-section,.cv-page #full-list{scroll-margin-top:110px}}@media (width<=420px){.cv-portrait{display:none}.cv-actions{grid-template-columns:1fr;display:grid}.cv-actions .button{width:100%}}@media print{.cv-navigation,.cv-summary,.cv-actions,.site-header,.site-footer{display:none}.cv-grid{display:block}.cv-page .shell{width:100%}.cv-hero{background:#fff}.cv-section{break-inside:auto}.cv-portrait{width:80px;height:80px}}.cv-content summary{cursor:pointer;color:var(--accent);padding:8px 0;font-size:.82rem}.cv-content details[open] summary{margin-bottom:8px}.cv-content .card-text{color:var(--ink-soft);font-size:.94rem;line-height:1.65}.cv-page .cv-project-heading-row{align-items:center;gap:12px;margin-bottom:8px;display:flex}.cv-page .cv-project-heading-row .cv-project-heading{min-width:0;margin:0}.cv-page .cv-project-logo{object-fit:contain;flex:0 0 40px;width:40px;height:40px;display:block}.cv-page .cv-project-heading{scroll-margin-top:110px}.cv-page .cv-project-heading-row--separated{border-top:1px solid var(--line);margin-top:22px;padding-top:12px}.cv-page .cv-project-status{color:var(--accent);white-space:nowrap;margin-left:8px;font-size:.73rem;font-weight:500}.cv-page .cv-project-focus{color:var(--accent-dark);font-weight:700}.cv-page #projects .avatar img{width:40px;height:40px}.cv-actions[data-astro-cid-uue4a3aj]{grid-template-columns:repeat(4,minmax(0,1fr));max-width:820px}.cv-actions[data-astro-cid-uue4a3aj] .button[data-astro-cid-uue4a3aj].primary,.cv-bottom-download[data-astro-cid-uue4a3aj] .button[data-astro-cid-uue4a3aj].primary{background:var(--accent);border-color:var(--accent);color:#fff}.cv-actions[data-astro-cid-uue4a3aj] .button[data-astro-cid-uue4a3aj].primary:hover,.cv-bottom-download[data-astro-cid-uue4a3aj] .button[data-astro-cid-uue4a3aj].primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.cv-availability-action[data-astro-cid-uue4a3aj]{color:#14532d;text-align:center;white-space:nowrap;background:#cfe9d8;border:1px solid #6fac83;border-radius:4px;justify-content:center;align-items:center;gap:8px;min-height:34px;padding:3px 10px;font-size:.8125rem;font-weight:800;line-height:1.3;display:flex}.cv-availability-dot[data-astro-cid-uue4a3aj]{background:#288253;border-radius:50%;flex:0 0 8px;width:8px;height:8px;box-shadow:0 0 0 3px #2882531f}@media (width<=900px){.cv-actions[data-astro-cid-uue4a3aj]{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-availability-action[data-astro-cid-uue4a3aj]{min-height:44px}}@media (width<=520px){.cv-actions[data-astro-cid-uue4a3aj]{grid-template-columns:1fr}}.cv-content[data-astro-cid-uue4a3aj] .overview-specialties[data-astro-cid-uue4a3aj]{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.cv-content[data-astro-cid-uue4a3aj] .overview-specialties[data-astro-cid-uue4a3aj] li[data-astro-cid-uue4a3aj]{background:var(--blue-pale);color:var(--accent-dark);border-radius:3px;padding:4px 8px;font-size:.76rem;line-height:1.5}.cv-content[data-astro-cid-uue4a3aj] .cv-education-institution[data-astro-cid-uue4a3aj]{white-space:nowrap}.cv-nav-actions[data-astro-cid-uue4a3aj]{gap:7px;margin-top:18px;display:none}.cv-nav-actions[data-astro-cid-uue4a3aj].is-visible{display:grid}.cv-nav-actions[data-astro-cid-uue4a3aj] .button[data-astro-cid-uue4a3aj]{white-space:nowrap;border:1px solid #b8cddb;border-radius:3px;gap:6px;width:100%;min-height:36px;padding:6px 8px;font-size:.75rem;line-height:1.2}.cv-nav-actions[data-astro-cid-uue4a3aj] .button[data-astro-cid-uue4a3aj].primary{background:var(--blue-pale);color:var(--accent-dark);border-color:#99b9d1}.cv-nav-actions[data-astro-cid-uue4a3aj] .button[data-astro-cid-uue4a3aj].quiet{color:#315e80;background:#f8fafc;border-color:#b8cddb}.cv-nav-actions[data-astro-cid-uue4a3aj] .button[data-astro-cid-uue4a3aj]:hover{border-color:var(--accent);background:#d6e9f7;text-decoration:none}.cv-nav-availability[data-astro-cid-uue4a3aj]{color:#27603e;white-space:nowrap;background:#edf7f0;border:1px solid #b4d1bd;border-radius:3px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:6px;font-size:.68rem;font-weight:700;line-height:1.2;display:flex}.cv-nav-availability[data-astro-cid-uue4a3aj] .cv-availability-dot[data-astro-cid-uue4a3aj]{width:7px;height:7px;box-shadow:none;flex:0 0 7px}.cv-bottom-download[data-astro-cid-uue4a3aj]{justify-content:center;margin:14px 0 40px;display:flex}@media (width>=701px){.cv-bottom-download[data-astro-cid-uue4a3aj]{display:none}}@media (width<=700px){.cv-nav-actions[data-astro-cid-uue4a3aj].is-visible{display:none}}@media (width<=520px){.cv-bottom-download[data-astro-cid-uue4a3aj] .button[data-astro-cid-uue4a3aj]{width:100%}}@media print{.cv-bottom-download[data-astro-cid-uue4a3aj]{display:none}}.cv-page .cv-phone{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:8px;min-height:36px;font-size:.8rem;display:flex}.cv-page .cv-social-row{flex-direction:row;align-items:center;gap:4px;margin-top:6px;display:flex}.cv-page .cv-social-row a{color:#527b9c;background:0 0;border:0;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:40px;display:inline-flex}.cv-page .cv-contact-symbol{width:19px;height:19px;-webkit-mask:var(--contact-icon) center/contain no-repeat;mask:var(--contact-icon) center/contain no-repeat;background:currentColor;flex:0 0 19px;display:block}.cv-page .cv-phone .cv-contact-symbol{color:#527b9c;flex-basis:15px;width:15px;height:15px}.cv-page .cv-social-row a:hover,.cv-page .cv-phone:hover{color:var(--accent)}
