.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}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}@font-face{font-family:InterVariable;font-style:normal;font-weight:200 600;font-display:swap;src:url(/fonts/InterVariable-latin-e3e7fcc9.woff2)format("woff2")}:root{color-scheme:light;scrollbar-gutter:stable;--paper:#faf9f6;--ink:#292b29;--text:#535650;--muted:#71736b;--accent:#8b563d;--selection:#ece4d9;--sans:InterVariable, Inter, -apple-system, system-ui, sans-serif;--serif:Georgia, "Times New Roman", serif;--ease:cubic-bezier(.4, 0, .2, 1);background:var(--paper);color:var(--text);font-family:var(--sans);font-synthesis:none}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;margin:0;font-size:16px;font-weight:350;line-height:1.85}html.lenis{scroll-behavior:auto}::selection{background:var(--selection);color:var(--ink)}.site-link{color:var(--link-color,inherit);box-shadow:0 1px 0 var(--link-line,var(--muted));-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:color .24s var(--ease), box-shadow .24s var(--ease);text-decoration:none}.site-link--quiet{--link-line:transparent}.site-link:is(:hover,:focus-visible):not(:disabled){color:var(--accent);box-shadow:0 1px 0 var(--accent)}.site-link:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}.skip-link{z-index:1;background:var(--paper);padding:4px 12px;position:absolute;top:12px;left:16px;transform:translateY(-200%)}.skip-link:focus{transform:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-shell{grid-template-columns:clamp(74px,10vw,100px) minmax(0,1fr);gap:clamp(24px,4vw,48px);width:min(740px,100% - clamp(40px,8vw,96px));margin:clamp(40px,7vh,76px) auto 48px;display:grid}.sidebar{flex-direction:column;align-self:start;align-items:flex-end;padding:3px 4px 0 0;display:flex}.personal-mark{--link-color:var(--accent);width:28px;height:28px;margin-bottom:28px;display:block}.personal-mark svg{width:100%;height:100%;display:block}.personal-mark path{stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.personal-mark circle{fill:currentColor}.site-navigation{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.site-navigation a{--link-color:var(--muted);font-family:var(--serif);font-size:18px;font-style:italic;line-height:1.4;position:relative}.site-navigation a[aria-current=page]{--link-color:var(--ink)}.navigation-marker{background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:calc(50% - 2.5px);right:-16px}.page-column{min-width:0;position:relative}.page-content{will-change:opacity, filter}.page-outgoing{z-index:1;pointer-events:none;will-change:opacity, filter;margin:0;position:fixed}.location-clock{text-align:right;width:104px;position:absolute;top:3px;right:0}.clock-time{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.035em;font-size:15px;font-weight:400;line-height:1.5;display:block}.clock-location{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:11px;line-height:1.4;display:block}.clock-error{color:var(--accent);font-size:11px}.location-clock [hidden]{display:none}main:focus{outline:none}.page-header{min-height:48px;margin-bottom:clamp(24px,4vw,36px);padding-right:128px}h1,h2,p{margin:0}h1{color:var(--ink);letter-spacing:-.025em;font-size:21px;font-weight:450;line-height:1.5}.prose p+p{margin-top:clamp(22px,3.5vw,30px)}.experience{margin:40px 0 0;padding:0;list-style:none}.experience li+li{margin-top:44px}.experience-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.experience h2{color:var(--ink);font-size:16px;font-weight:450;line-height:1.5}.company-brand{align-items:center;gap:10px;min-height:32px;display:flex}.company-link{align-items:center;gap:10px;max-width:100%;display:inline-flex}.company-logo{object-fit:contain;flex-shrink:0;width:auto;max-width:100%;height:28px;display:block}.experience-period{color:var(--muted);font-size:12px}.experience-role{color:var(--muted);margin-top:16px;font-size:14px}.experience-description{margin-top:12px;font-size:15px}.work-contact{margin-top:40px;font-size:15px}.contact-email{color:var(--ink);overflow-wrap:anywhere}.contact-actions{flex-wrap:wrap;gap:20px;margin-top:20px;font-size:14px;display:flex}.copy-email{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.copy-email:disabled{cursor:wait}.copy-status{min-height:3.7em;color:var(--muted);margin-top:12px;font-size:13px}.contact-elsewhere{margin-top:20px}.page-code{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.1em;margin-bottom:6px;font-size:12px}.detour-drawing{width:144px;height:54px;color:var(--accent);margin:0 0 28px;display:block}.detour-drawing path{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-dasharray:2 6}.detour-drawing circle{fill:currentColor}.site-footer{color:var(--muted);margin-top:44px;font-size:11px;line-height:1.6}@media (width<=540px){.site-shell{grid-template-columns:minmax(0,1fr);gap:28px;width:calc(100% - 40px);margin-top:28px}.sidebar{flex-direction:row;justify-content:space-between;align-items:center;padding:0 0 12px}.personal-mark{width:28px;height:28px;margin:0}.site-navigation{flex-direction:row;gap:24px}.navigation-marker{top:auto;bottom:-8px;right:calc(50% - 2.5px)}.experience-header{grid-template-columns:minmax(0,1fr);gap:4px}}@media (prefers-reduced-motion:reduce){.site-link{transition:none}.page-content{will-change:auto}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none}}
