.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--background:#f1ecdf;--text:#20231f;--muted:#74766f;--accent:#8c5b3e;--border:#d2cbc0;--active-text:#fffaf5;--timeline:#c8b9a8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--background:#171916;--text:#f4f1e8;--muted:#aaa99f;--accent:#d79a73;--border:#34362f;--active-text:#171916;--timeline:#555046;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth;min-height:100%}body{background:var(--background);color:var(--text);min-height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.site-header,main,footer{z-index:1;position:relative}body:before{background-image:linear-gradient(30deg, transparent 49.55%, color-mix(in srgb, var(--text) 10%, transparent) 49.8%, color-mix(in srgb, var(--text) 10%, transparent) 50.2%, transparent 50.45%), linear-gradient(150deg, transparent 49.55%, color-mix(in srgb, var(--text) 8%, transparent) 49.8%, color-mix(in srgb, var(--text) 8%, transparent) 50.2%, transparent 50.45%);content:"";opacity:.72;pointer-events:none;z-index:0;background-size:84px 48px;animation:52s linear infinite network-drift;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000 0,#0000 74%);mask-image:radial-gradient(#000 0,#0000 74%)}@keyframes network-drift{to{background-position:84px 48px,-84px 48px}}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.085em;margin-bottom:30px;font-size:clamp(3.5rem,9vw,6.7rem);line-height:.95}h3{letter-spacing:-.03em;font-size:1.25rem}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-header,main,footer{max-width:960px;margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px}.site-header{justify-content:space-between;align-items:center;padding-top:28px;display:flex}.logo{color:var(--text);letter-spacing:-.08em;font-size:1.4rem;font-weight:800;text-decoration:none}nav,.social-links,footer>div{align-items:center;gap:24px;display:flex}nav a,footer a{color:var(--muted);font-size:.9rem;text-decoration:none}nav a{border-radius:999px;padding:7px;font-weight:700}nav a:hover,footer a:hover{color:var(--text)}nav a.active{background:var(--accent);color:var(--active-text)}.theme-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;width:32px;height:32px;font-size:.9rem;line-height:1}.theme-toggle:hover{border-color:var(--text)}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px;font-size:.74rem;font-weight:700}.action-link{border-bottom:0px solid var(--accent);color:var(--accent);gap:10px;padding-bottom:5px;text-decoration:none;display:inline-flex}.action-link:hover{color:var(--text)}footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;padding-top:24px;padding-bottom:34px;font-size:.8rem;display:flex}.hero{max-width:900px;padding:140px 0 150px}.home-page h1{letter-spacing:-.07em;max-width:780px;font-size:clamp(2.8rem,7vw,5.2rem)}.hero .eyebrow{color:var(--accent);letter-spacing:-.06em;text-transform:none;margin-bottom:28px;font-size:clamp(2.2rem,5vw,3.8rem);line-height:1}.hero .intro{color:var(--muted);max-width:560px;margin-bottom:28px;font-size:1.15rem;line-height:1.7}.hero .action-link{font-size:.95rem}.cv-page>.intro{max-width:720px;padding:150px 0 85px}.cv-page>.intro>p{color:var(--muted);font-size:1.15rem;line-height:1.7}.cv-page .action-link{margin-top:20px}.cv-section{border-top:1px solid var(--border);padding:36px 0}.cv-section>h2{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:28px;font-size:.75rem}.item{justify-content:space-between;gap:30px;display:flex}.item+.item{margin-top:24px}.item h3{margin-bottom:7px}.item p,.item>span,.languages{color:var(--muted);margin-bottom:0;line-height:1.6}.skills{flex-wrap:wrap;gap:10px;display:flex}.skills span{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:9px 14px;font-size:.9rem}.experience-list{padding-left:34px;position:relative}.experience-list:before{background:var(--timeline);content:"";width:1px;position:absolute;top:12px;bottom:18px;left:6px}.experience-item{grid-template-columns:1fr auto;gap:30px;padding:6px 0 28px;display:grid;position:relative}.experience-item:before{background:var(--accent);border:3px solid var(--background);box-shadow:0 0 0 1px var(--accent);content:"";border-radius:50%;width:11px;height:11px;position:absolute;top:9px;left:-33px}.experience-item:last-child{padding-bottom:6px}.experience-item h3{margin-bottom:5px}.organization{color:var(--accent);margin-bottom:9px;font-size:.9rem;font-weight:600;line-height:1.45}.organization a{color:inherit;text-underline-offset:3px;text-decoration-color:#0000}.organization a:after{content:"↗";opacity:0;margin-left:5px;transition:opacity .18s,transform .18s;display:inline-block;transform:translate(-4px,4px)}.organization a:hover,.organization a:focus-visible{text-decoration-color:currentColor}.organization a:hover:after,.organization a:focus-visible:after{opacity:1;transform:translate(0)}.summary{color:var(--muted);max-width:650px;margin:0;line-height:1.55}.period{color:var(--muted);white-space:nowrap;padding-top:3px;font-size:.82rem}.contact-page>.intro{max-width:760px;padding:150px 0 280px}.contact-page>.intro>p{color:var(--muted);max-width:500px;font-size:1.15rem;line-height:1.7}.contact-page .action-link{margin-top:18px}@media (width<=600px){.site-header,main,footer{padding-left:20px;padding-right:20px}.site-header{padding-top:22px}nav{gap:10px}h1{font-size:clamp(3rem,15vw,4.5rem)}.home-page h1{font-size:clamp(2.5rem,12vw,3.7rem)}.hero .eyebrow{font-size:clamp(2rem,10vw,3rem)}.hero{padding:110px 0 100px}.cv-page>.intro,.contact-page>.intro{padding-top:110px}.contact-page>.intro{padding-bottom:180px}.item{display:block}.item>span{margin-top:8px;display:block}.experience-list{padding-left:28px}.experience-list:before{left:5px}.experience-item{flex-direction:column;gap:6px;display:flex}.experience-item:before{left:-27px}.period{order:-1}footer{display:block}footer>div{margin-top:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}body:before{animation:none}}
