@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500&family=IBM+Plex+Sans:wght@400;600&family=Space+Grotesk:wght@400;700&display=swap";:root{color-scheme:light;--color-paper: oklch(96% .012 125);--color-paper-2: oklch(92% .014 125);--color-paper-3: oklch(88% .014 125);--color-ink: oklch(17% .014 125);--color-ink-2: oklch(27% .012 125);--color-neutral: oklch(36% .012 125);--color-muted: oklch(43% .012 125);--color-rule: oklch(76% .014 125);--color-rule-2: oklch(84% .013 125);--color-accent: oklch(82% .18 128);--color-accent-ink: oklch(17% .014 125);--color-focus: oklch(54% .2 128);--color-error: oklch(53% .19 28);--color-success: oklch(48% .14 145);--color-inverse-muted: oklch(72% .012 125);--color-inverse-rule: oklch(35% .012 125);--color-overlay: oklch(17% .014 125 / .08);--font-display: "Space Grotesk", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--font-outlier: "IBM Plex Mono", monospace;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 9rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.25rem;--text-lg: 1.5625rem;--text-xl: 1.9531rem;--text-2xl: 2.4414rem;--text-3xl: 3.0518rem;--text-4xl: 3.8147rem;--text-display-s: clamp(2.75rem, 5.6vw, 5.25rem);--text-display-mobile: clamp(2.75rem, 13.7vw, 3.25rem);--text-display: clamp(3.25rem, 7.6vw, 7rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-stagger: 80ms;--dur-reduced: .15s;--dur-short: .22s;--dur-long: .42s;--dur-loader: .8s;--dur-loader-reduced: 1.5s;--rule-hair: 1px;--rule-strong: 2px;--radius-control: .375rem;--radius-card: .5rem;--radius-pill: 999px;--z-base: 1;--z-raised: 10;--z-sticky: 200;--z-tooltip: 600;--page-gutter: clamp(1rem, 4vw, 4rem);--page-max: 100rem;--control-height: 3rem}*{box-sizing:border-box}html,body{min-width:0;overflow-x:clip}html{background-color:var(--color-paper);color:var(--color-ink);scroll-behavior:smooth}body{margin:0;background-color:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);font-synthesis:none;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:var(--color-overlay)}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);font-style:normal}ol,ul{margin:0;padding:0;list-style:none}:focus-visible{outline:var(--rule-strong) solid var(--color-focus);outline-offset:var(--space-2xs)}.site-progress{display:none}.scroll-field{position:fixed;inset:0;overflow:clip;color:var(--color-rule);pointer-events:none}.scroll-field__svg{width:100%;height:100%;display:block}.solar-system__orbit,.solar-system__planet,.solar-system__planet-ring,.solar-system__moon-orbit,.solar-system__moon,.solar-system__sun-halo,.solar-system__sun-rays,.solar-system__sun-body,.solar-system__sun-surface{vector-effect:non-scaling-stroke}.solar-system__orbit,.solar-system__sun-halo,.solar-system__sun-rays,.solar-system__sun-body,.solar-system__sun-surface{fill:none;stroke-linecap:round;stroke-linejoin:round}.solar-system__orbit{stroke:var(--color-rule);stroke-width:var(--rule-hair);opacity:.46}.solar-system__orbit--outer{opacity:.34}.solar-system__orbit--quiet{opacity:.22}.solar-system__planet{fill:var(--color-paper);stroke:var(--color-neutral);stroke-width:var(--rule-hair)}.solar-system__planet-ring,.solar-system__moon-orbit{fill:none;stroke:var(--color-neutral);stroke-width:var(--rule-hair)}.solar-system__planet-ring{opacity:.7}.solar-system__moon{fill:var(--color-neutral)}.solar-system__moon-system{transform-box:view-box;transform-origin:0 0}.solar-system__sun-halo,.solar-system__sun-rays{stroke:var(--color-rule);stroke-width:var(--rule-hair);opacity:.58}.solar-system__sun-body{fill:var(--color-paper);stroke:var(--color-ink-2);stroke-width:var(--rule-strong)}.solar-system__sun-rotor,.solar-system__sun-halo{transform-box:fill-box;transform-origin:center}.solar-system__sun-surface{fill:none;stroke:var(--color-rule-2);stroke-width:var(--rule-hair);opacity:.68}.solar-system__sun-spot{fill:var(--color-neutral);opacity:.8}.solar-system__sun-spot--secondary{opacity:.5}.solar-system__sun-core{fill:var(--color-accent)}@supports (offset-path: path("M0 0L1 1")){.solar-system__planet-carrier{transform:none;offset-distance:var(--orbit-start);offset-rotate:0deg}.solar-system__planet-carrier--one{--orbit-start: 11%;offset-path:path("M689.12 437.47A90 46-8 1 1 510.88 462.53A90 46-8 1 1 689.12 437.47")}.solar-system__planet-carrier--two{--orbit-start: 99%;offset-path:path("M743.59 429.82A145 74-8 1 1 456.41 470.18A145 74-8 1 1 743.59 429.82")}.solar-system__planet-carrier--three{--orbit-start: 67%;offset-path:path("M807.96 420.77A210 108-8 1 1 392.04 479.23A210 108-8 1 1 807.96 420.77")}.solar-system__planet-carrier--four{--orbit-start: 17%;offset-path:path("M887.18 409.64A290 148-8 1 1 312.82 490.36A290 148-8 1 1 887.18 409.64")}.solar-system__planet-carrier--five{--orbit-start: 23%;offset-path:path("M981.25 396.42A385 198-8 1 1 218.75 503.58A385 198-8 1 1 981.25 396.42")}.solar-system__planet-carrier--six{--orbit-start: 15%;offset-path:path("M1095.13 380.41A500 258-8 1 1 104.87 519.59A500 258-8 1 1 1095.13 380.41")}}@supports (animation-timeline: scroll()) and (offset-path: path("M0 0L1 1")){.solar-system__planet-carrier{animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root block)}.solar-system__planet-carrier--one{animation-name:solar-system-orbit-one}.solar-system__planet-carrier--two{animation-name:solar-system-orbit-two}.solar-system__planet-carrier--three{animation-name:solar-system-orbit-three}.solar-system__planet-carrier--four{animation-name:solar-system-orbit-four}.solar-system__planet-carrier--five{animation-name:solar-system-orbit-five}.solar-system__planet-carrier--six{animation-name:solar-system-orbit-six}.solar-system__moon-system{animation:solar-system-moon-orbit auto linear both;animation-timeline:scroll(root block)}}@supports (animation-timeline: scroll()){.solar-system__sun-rotor{animation:solar-system-sun-spin auto linear both;animation-timeline:scroll(root block)}.solar-system__sun-halo{animation:solar-system-sun-breathe auto var(--ease-in-out) both;animation-timeline:scroll(root block)}}@keyframes solar-system-orbit-one{0%{offset-distance:11%}31.44%{offset-distance:100%}31.45%{offset-distance:0%}66.78%{offset-distance:100%}66.79%{offset-distance:0%}to{offset-distance:94%}}@keyframes solar-system-orbit-two{0%{offset-distance:99%}.47%{offset-distance:100%}.48%{offset-distance:0%}47.86%{offset-distance:100%}47.87%{offset-distance:0%}95.26%{offset-distance:100%}95.27%{offset-distance:0%}to{offset-distance:10%}}@keyframes solar-system-orbit-three{0%{offset-distance:67%}21.01%{offset-distance:100%}21.02%{offset-distance:0%}84.71%{offset-distance:100%}84.72%{offset-distance:0%}to{offset-distance:24%}}@keyframes solar-system-orbit-four{0%{offset-distance:17%}76.14%{offset-distance:100%}76.15%{offset-distance:0%}to{offset-distance:26%}}@keyframes solar-system-orbit-five{0%{offset-distance:23%}to{offset-distance:96%}}@keyframes solar-system-orbit-six{0%{offset-distance:15%}to{offset-distance:62%}}@media(min-width:64rem)and (hover:hover)and (pointer:fine){.solar-system__planet-carrier--one{animation-name:solar-system-orbit-one-desktop}.solar-system__planet-carrier--two{animation-name:solar-system-orbit-two-desktop}.solar-system__planet-carrier--three{animation-name:solar-system-orbit-three-desktop}.solar-system__planet-carrier--four{animation-name:solar-system-orbit-four-desktop}.solar-system__planet-carrier--five{animation-name:solar-system-orbit-five-desktop}.solar-system__planet-carrier--six{animation-name:solar-system-orbit-six-desktop}.solar-system__moon-system{animation-name:solar-system-moon-orbit-desktop}}@keyframes solar-system-orbit-one-desktop{0%{offset-distance:11%}62.89%{offset-distance:100%}62.90%{offset-distance:0%}to{offset-distance:52.5%}}@keyframes solar-system-orbit-two-desktop{0%{offset-distance:99%}.94%{offset-distance:100%}.95%{offset-distance:0%}95.72%{offset-distance:100%}95.73%{offset-distance:0%}to{offset-distance:4.5%}}@keyframes solar-system-orbit-three-desktop{0%{offset-distance:67%}42.03%{offset-distance:100%}42.04%{offset-distance:0%}to{offset-distance:45.5%}}@keyframes solar-system-orbit-four-desktop{0%{offset-distance:17%}to{offset-distance:71.5%}}@keyframes solar-system-orbit-five-desktop{0%{offset-distance:23%}to{offset-distance:59.5%}}@keyframes solar-system-orbit-six-desktop{0%{offset-distance:15%}to{offset-distance:38.5%}}@keyframes solar-system-moon-orbit{to{transform:rotate(720deg)}}@keyframes solar-system-moon-orbit-desktop{to{transform:rotate(360deg)}}@keyframes solar-system-sun-spin{0%{transform:rotate(-24deg)}to{transform:rotate(516deg)}}@keyframes solar-system-sun-breathe{0%,to{opacity:.38;transform:scale(.92)}40%{opacity:.66;transform:scale(1.12)}72%{opacity:.5;transform:scale(1.02)}}@supports (animation-timeline: scroll()){@media(min-width:40rem){.site-progress{position:fixed;z-index:var(--z-sticky);inset-block-start:0;inset-inline:0;display:block;height:var(--rule-strong);background-color:var(--color-accent);color:var(--color-accent-ink);transform:scaleX(0);transform-origin:left;animation:page-progress auto linear;animation-timeline:scroll(root block);pointer-events:none}}}@keyframes page-progress{to{transform:scaleX(1)}}.site-shell{position:relative;z-index:var(--z-base);width:min(100%,var(--page-max));margin-inline:auto;padding-inline-start:max(var(--page-gutter),env(safe-area-inset-left));padding-inline-end:max(var(--page-gutter),env(safe-area-inset-right))}.nav-edge{min-height:4.5rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule);animation:composed-enter var(--dur-long) var(--ease-out) both}.brand{min-width:0;min-height:2.75rem;display:inline-flex;align-items:center;gap:var(--space-sm);text-decoration:none;white-space:nowrap}.brand-name,.footer-brand{font-family:var(--font-outlier);font-weight:500;letter-spacing:-.045em}.brand-name{font-size:var(--text-md)}.brand-mark{color:var(--color-accent)}.brand-edition{display:none;color:var(--color-muted);font-size:var(--text-sm);letter-spacing:.02em}.language-switch{min-height:2.75rem;display:inline-flex;align-items:center;gap:var(--space-xs);padding-inline:var(--space-xs);border-block-end:var(--rule-hair) solid var(--color-ink);font-size:var(--text-sm);font-weight:600;text-decoration:none;white-space:nowrap;transition:transform var(--dur-micro) var(--ease-out)}.language-switch:active{transform:translateY(1px)}.hero-marquee{min-height:clamp(34rem,78svh,52rem);display:grid;grid-template-areas:"title" "trace" "foot";align-content:end;gap:var(--space-xl);padding-block:var(--space-lg) var(--space-2xl);border-block-end:var(--rule-strong) solid var(--color-ink);scroll-margin-block-start:var(--space-lg)}.hero-title{grid-area:title;max-width:13ch;font-size:var(--text-display-mobile);font-weight:700;line-height:.94;letter-spacing:-.065em}:lang(en) .hero-title{max-width:16ch;font-size:var(--text-display-s);letter-spacing:-.055em}.hero-line{min-width:0;display:block;overflow:clip;padding-block:.04em .08em}.hero-line>span{display:block}.hero-line [data-enter=hero-1]{animation:composed-enter var(--dur-long) var(--ease-out) var(--dur-micro) both}.hero-line [data-enter=hero-2]{animation:composed-enter var(--dur-long) var(--ease-out) var(--dur-short) both}.title-accent,.contact-accent{position:relative;display:inline-block;color:inherit}.title-accent:after,.contact-accent:after{content:"";position:absolute;inset-inline:0;inset-block-end:-.04em;height:var(--rule-strong);background-color:var(--color-accent);color:var(--color-accent-ink);transform-origin:left}.title-accent:after{animation:accent-draw var(--dur-long) var(--ease-out) var(--dur-long) both}.runtime-trace{--active-stage: 0;min-width:0;grid-area:trace;display:grid;gap:var(--space-md);padding-block-start:var(--space-md);border-block-start:var(--rule-hair) solid var(--color-rule);animation:composed-enter var(--dur-long) var(--ease-out) var(--dur-long) both}.runtime-trace-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);color:var(--color-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em}.runtime-trace-head p{color:var(--color-ink-2)}.runtime-graph{position:relative;min-width:0}.runtime-rail{position:absolute;inset-block-start:calc(var(--space-2xl) / 2 - var(--space-2xs));inset-block-end:calc(var(--space-2xl) / 2 - var(--space-2xs));inset-inline-start:var(--space-2xs);width:var(--rule-strong);background-color:var(--color-rule-2);color:var(--color-ink);pointer-events:none}.runtime-probe{position:absolute;inset-block-start:0;inset-inline-start:calc(var(--space-3xs) * -1);width:var(--space-xs);height:var(--space-xs);border-radius:var(--radius-pill);background-color:var(--color-accent);color:var(--color-accent-ink);transform:translateY(calc(var(--active-stage) * var(--space-2xl)));transition:transform var(--dur-long) var(--ease-in-out)}.runtime-stages{min-width:0;padding-inline-start:var(--space-lg)}.runtime-stage{min-width:0;min-height:var(--space-2xl);display:grid;align-content:center;gap:var(--space-2xs);opacity:.42;transform:translate(0);transition:opacity var(--dur-long) var(--ease-out),transform var(--dur-long) var(--ease-out)}.runtime-stage.is-active{opacity:1;transform:translate(var(--space-xs))}.runtime-stage-button{min-width:0;min-height:calc(var(--control-height) - var(--space-2xs));display:inline-flex;align-items:center;justify-self:start;gap:var(--space-sm);padding:0;border:0;background-color:var(--color-paper);color:var(--color-ink);font-size:var(--text-sm);line-height:1;text-align:start;white-space:nowrap;cursor:pointer;transition:transform var(--dur-micro) var(--ease-out)}.runtime-stage-button>span{color:var(--color-muted);font-variant-numeric:tabular-nums}.runtime-stage-button strong{font-weight:600}.runtime-stage p{max-width:45ch;color:var(--color-muted);font-size:var(--text-xs);line-height:1.45}.runtime-stage-button:active{transform:translateY(1px)}.runtime-stage-button:disabled,.runtime-stage-button[aria-disabled=true]{opacity:.52;cursor:not-allowed}.runtime-stage-button[data-state=loading]{opacity:.64;cursor:progress}.runtime-stage-button[data-state=error]{color:var(--color-error)}.runtime-stage-button[data-state=success]{color:var(--color-success)}.runtime-stage-button[data-state=error]:after{content:"!"}.runtime-stage-button[data-state=success]:after{content:"✓"}.runtime-output{min-width:0;margin:0;padding-block:var(--space-sm);border-block:var(--rule-hair) solid var(--color-rule-2);color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-xs);font-variant-ligatures:none;font-variant-numeric:tabular-nums;line-height:1.55;white-space:pre-wrap}.runtime-output-line{min-width:0;display:block;overflow-wrap:anywhere;opacity:.3;transform:translate(0);transition:opacity var(--dur-long) var(--ease-out),transform var(--dur-long) var(--ease-out)}.runtime-output-line.is-current{opacity:1;transform:translate(var(--space-xs))}.hero-foot{grid-area:foot;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg);color:var(--color-muted);font-size:var(--text-sm);letter-spacing:.04em;animation:composed-enter var(--dur-long) var(--ease-out) var(--dur-long) both}@keyframes composed-enter{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes accent-draw{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.profile-band{display:grid;gap:var(--space-xl);padding-block:var(--space-xl) var(--space-2xl);border-block-end:var(--rule-hair) solid var(--color-rule)}.profile-status{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);font-weight:600}.status-dot{width:var(--space-xs);height:var(--space-xs);flex:0 0 auto;border-radius:var(--radius-pill);background-color:var(--color-accent);color:var(--color-accent-ink)}.profile-intro{max-width:62ch;color:var(--color-neutral)}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.action{min-height:var(--control-height);min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-ink);border-radius:var(--radius-control);font-size:var(--text-sm);font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform var(--dur-micro) var(--ease-out)}.action-primary,.contact-submit{background-color:var(--color-ink);color:var(--color-paper)}.action-secondary{background-color:var(--color-paper);color:var(--color-ink)}.action:active{transform:translateY(1px)}.action:disabled,.action[aria-disabled=true]{opacity:.52;cursor:not-allowed}.page-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block-start:var(--rule-hair) solid var(--color-rule)}.page-index a{min-width:0;min-height:2.75rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule-2);font-size:var(--text-sm);text-decoration:none;white-space:nowrap}.page-index a:after{content:"↘";color:var(--color-neutral);transform:translate(0);transition:transform var(--dur-short) var(--ease-out)}.section{scroll-margin-block-start:var(--space-lg)}.capabilities-section{padding-block:var(--space-3xl) var(--space-2xl)}.work-section{padding-block:var(--space-4xl) var(--space-3xl)}.process-section{padding-block:var(--space-3xl) var(--space-4xl)}.section-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);margin-block-end:var(--space-2xl)}.section-heading h2,.experience-heading h2{max-width:19ch;font-size:var(--text-2xl);font-weight:700;line-height:1.04;letter-spacing:-.045em}.section-heading-compact h2{max-width:11ch}.capability-list{display:grid;grid-template-columns:minmax(0,1fr);border-block-end:var(--rule-hair) solid var(--color-rule)}.capability-list li{min-width:0;min-height:6rem;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-lg);padding-block:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;line-height:1.1}.item-number,.project-number,.process-code{color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums}.project-list{border-block-start:var(--rule-strong) solid var(--color-ink)}.project-list[data-motion=ready] .project{opacity:0;transform:translateY(var(--space-lg))}.project-list[data-motion=ready][data-visible=true] .project{opacity:1;transform:translateY(0);transition:opacity var(--dur-long) var(--ease-out),transform var(--dur-long) var(--ease-out);transition-delay:calc(var(--project-index) * var(--dur-stagger))}.project{min-width:0;display:grid;gap:var(--space-lg);padding-block:var(--space-xl);border-block-end:var(--rule-hair) solid var(--color-rule)}.project-identity{min-width:0}.project-direction{margin-block-end:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm);font-weight:600}.project h3,.experience-list h3,.process-list h3{font-size:var(--text-lg);font-weight:700;line-height:1.1;letter-spacing:-.035em}.project-copy,.experience-list p,.process-list p{max-width:62ch;color:var(--color-neutral)}.project-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);font-size:var(--text-sm)}.project-meta div{min-width:0;display:grid;gap:var(--space-2xs)}.project-meta dt{color:var(--color-muted);font-weight:600;letter-spacing:.05em}.project-meta dd{color:var(--color-ink-2)}.experience-section{margin-inline:calc(var(--page-gutter) * -1);padding-block:var(--space-4xl) var(--space-3xl);padding-inline:var(--page-gutter);background-color:var(--color-ink);color:var(--color-paper);scroll-margin-block-start:var(--space-lg)}.experience-heading{display:grid;gap:var(--space-xl);margin-block-end:var(--space-3xl)}.experience-heading p{max-width:62ch;color:var(--color-inverse-muted)}.experience-list{display:grid;grid-template-columns:minmax(0,1fr)}.experience-list article{min-width:0;display:grid;align-content:start;gap:var(--space-lg);padding-block:var(--space-xl);border-block-start:var(--rule-hair) solid var(--color-inverse-rule)}.experience-list article>span{color:var(--color-inverse-muted);font-size:var(--text-sm);font-weight:600}.experience-list p{color:var(--color-inverse-muted)}.process-list{display:grid;grid-template-columns:minmax(0,1fr);border-block-end:var(--rule-hair) solid var(--color-rule)}.process-list li{min-width:0;display:grid;align-content:start;gap:var(--space-lg);padding-block:var(--space-xl);border-block-start:var(--rule-hair) solid var(--color-rule)}.contact-section{padding-block:var(--space-4xl) max(var(--space-xl),env(safe-area-inset-bottom));border-block-start:var(--rule-strong) solid var(--color-ink);scroll-margin-block-start:var(--space-lg)}.contact-heading{display:grid;gap:var(--space-xl)}.contact-heading h2{max-width:17ch;font-size:var(--text-display-s);font-weight:700;line-height:.98;letter-spacing:-.055em}.contact-heading p{max-width:58ch;color:var(--color-neutral)}.contact-form{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);margin-block-start:var(--space-3xl);padding-block:var(--space-xl);border-block:var(--rule-hair) solid var(--color-rule)}.field{min-width:0;display:grid;gap:var(--space-xs)}.field>span:first-child{color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600}.contact-form input,.contact-form textarea{width:100%;min-width:0;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-control);outline:var(--rule-strong) solid transparent;outline-offset:var(--rule-hair);background-color:var(--color-paper);color:var(--color-ink)}.contact-form input{min-height:var(--control-height);padding-inline:var(--space-md) var(--space-xl)}.contact-form textarea{min-height:9rem;padding:var(--space-md) var(--space-xl) var(--space-md) var(--space-md);resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--color-muted);opacity:1}.contact-form input:focus-visible,.contact-form textarea:focus-visible{border-color:var(--color-ink-2);outline-color:var(--color-focus)}.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border-color:var(--color-error)}.contact-form input:disabled,.contact-form textarea:disabled{opacity:.55;cursor:not-allowed}.field-feedback{min-height:1lh;color:var(--color-error);font-size:var(--text-sm)}.message-field,.form-bottom{grid-column:1 / -1}.form-bottom{min-width:0;display:grid;gap:var(--space-md)}.form-status{min-height:1.5em;color:var(--color-muted);font-size:var(--text-sm)}.contact-form[data-state=error] .form-status{color:var(--color-error)}.contact-form[data-state=success] .form-status{color:var(--color-success)}.contact-submit{position:relative;justify-self:stretch}.contact-submit [data-submit-icon]{width:var(--space-md);text-align:center}.contact-submit:after{content:"";position:absolute;inset-inline-end:var(--space-md);width:var(--space-md);height:var(--space-md);border:var(--rule-strong) solid var(--color-paper-3);border-inline-end-color:var(--color-accent);border-radius:var(--radius-pill);opacity:0;pointer-events:none}.contact-submit[data-state=loading]:after{opacity:1;animation:loading-turn var(--dur-loader) linear infinite}.contact-submit[data-state=loading] [data-submit-icon]{opacity:0}.contact-submit[data-state=error]{border-color:var(--color-error);background-color:var(--color-paper);color:var(--color-error)}.contact-submit[data-state=success]{background-color:var(--color-ink);color:var(--color-paper)}@keyframes loading-turn{to{transform:rotate(1turn)}}.honeypot{position:absolute;width:var(--rule-hair);height:var(--rule-hair);overflow:clip;clip-path:inset(50%);white-space:nowrap}.external-links{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-xl);margin-block-start:var(--space-lg);font-size:var(--text-sm)}.external-links a,.placeholder-link{min-height:2.75rem;display:inline-flex;align-items:center;gap:var(--space-xs);white-space:nowrap}.external-links a{text-underline-offset:var(--space-2xs)}.placeholder-link{color:var(--color-muted)}.site-footer{display:grid;gap:var(--space-2xl);margin-block-start:var(--space-3xl);padding-block-start:var(--space-xl);border-block-start:var(--rule-hair) solid var(--color-rule)}.footer-brand{font-size:var(--text-lg)}.footer-meta{display:flex;flex-direction:column;gap:var(--space-sm);color:var(--color-muted);font-size:var(--text-sm)}@media(hover:hover)and (pointer:fine){.runtime-stage-button:hover{transform:translate(var(--space-2xs))}.language-switch:hover{transform:translateY(-1px)}.action-primary:not(:disabled):hover,.contact-submit:not(:disabled):not([data-state=error]):hover{background-color:var(--color-ink-2);color:var(--color-paper)}.action-secondary:not(:disabled):hover{background-color:var(--color-paper-2);color:var(--color-ink)}.page-index a:hover:after,.page-index a:focus-visible:after{transform:translate(.2rem,.2rem)}.contact-form input:hover,.contact-form textarea:hover{background-color:var(--color-paper-2)}}@media(min-width:40rem){.brand-edition{display:inline}.hero-marquee{min-height:clamp(37rem,74svh,50rem)}.hero-title{font-size:var(--text-display)}:lang(en) .hero-title{font-size:var(--text-display-s)}.profile-band{grid-template-columns:repeat(12,minmax(0,1fr))}.profile-status{grid-column:1 / 4}.profile-intro{grid-column:4 / 9}.actions{grid-column:9 / -1}.page-index{grid-column:1 / -1;grid-template-columns:repeat(5,minmax(0,1fr))}.page-index a{padding-inline-end:var(--space-md)}.capability-list{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-list li{padding-inline-end:var(--space-lg)}.capability-list li:nth-child(2n){padding-inline-start:var(--space-lg);padding-inline-end:0;border-inline-start:var(--rule-hair) solid var(--color-rule)}.capability-list li:last-child{grid-column:1 / -1}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr))}.form-bottom{grid-template-columns:minmax(0,1fr) auto;align-items:center}.contact-submit{min-width:11rem;justify-self:end}.site-footer{grid-template-columns:minmax(0,1fr) auto;align-items:end}.footer-meta{align-items:flex-end}}@media(min-width:60rem){.nav-edge{min-height:5.5rem}.hero-marquee{grid-template-columns:minmax(0,1.25fr) minmax(20rem,.75fr);grid-template-areas:"title trace" "foot foot";column-gap:var(--space-3xl);row-gap:var(--space-2xl);padding-block-end:var(--space-3xl)}.runtime-trace{align-self:end}.capability-list{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-lg)}.capability-list li,.capability-list li:nth-child(2n){padding-inline:0;border-inline-start:0}.capability-list li:nth-child(1){grid-column:1 / span 3}.capability-list li:nth-child(2){grid-column:4 / span 2}.capability-list li:nth-child(3){grid-column:6 / span 3}.capability-list li:nth-child(4){grid-column:9 / span 2}.capability-list li:nth-child(5){grid-column:11 / span 2}.project{grid-template-columns:minmax(3rem,.35fr) minmax(13rem,1.1fr) minmax(0,1.45fr) minmax(10rem,.8fr);align-items:start;gap:var(--space-xl)}.experience-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:var(--space-3xl)}.experience-heading{align-content:start;margin-block-end:0}.experience-list{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.experience-list article{padding-inline-end:var(--space-xl)}.experience-list article+article{padding-inline-start:var(--space-xl);padding-inline-end:0;border-inline-start:var(--rule-hair) solid var(--color-inverse-rule)}.process-list{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,.9fr))}.process-list li{padding-inline-end:var(--space-xl)}.process-list li+li{padding-inline-start:var(--space-xl);border-inline-start:var(--rule-hair) solid var(--color-rule)}.contact-heading{grid-template-columns:minmax(0,1.45fr) minmax(18rem,.55fr);align-items:end}}@media(min-width:90rem){.hero-title{max-width:12ch}.profile-band{padding-block-end:var(--space-3xl)}.project{grid-template-columns:minmax(4rem,.45fr) minmax(16rem,1.25fr) minmax(0,1.6fr) minmax(12rem,.85fr)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-progress{display:none}.solar-system__planet-carrier,.solar-system__moon-system,.solar-system__sun-rotor,.solar-system__sun-halo{animation:none}.nav-edge,.hero-line [data-enter],.runtime-trace,.hero-foot{animation-name:reduced-enter;animation-duration:var(--dur-reduced);animation-delay:0ms;animation-timing-function:var(--ease-out)}.title-accent:after{animation-name:reduced-accent;animation-duration:var(--dur-reduced);animation-delay:0ms;animation-timing-function:var(--ease-out)}.language-switch,.action,.page-index a:after,.runtime-stage,.runtime-stage-button,.runtime-output-line,.runtime-probe{transition:none;transform:none}.runtime-rail{display:none}.runtime-stages{padding-inline-start:0}.contact-submit[data-state=loading]:after{animation-duration:var(--dur-loader-reduced)}}@keyframes reduced-enter{0%{opacity:0}to{opacity:1}}@keyframes reduced-accent{0%{opacity:0}to{opacity:1}}
