:root{--ink: #1b1a18;--body: #3d3a36;--muted: #8b867e;--faint: #b3ada4;--paper: #fdfcfa;--accent: #17466e;--accent-soft: rgba(23, 70, 110, 0.28);--rule: #e5e0d8;--plate: #ffffff;--global-theme-color: #17466e;--global-bg-color: #fdfcfa;--global-text-color: #1b1a18;--global-text-color-light: #8b867e;--global-hover-color: #17466e}@media (prefers-color-scheme: dark){:root{--ink: #eae7e1;--body: #adaaa3;--muted: #7b766e;--faint: #5c5850;--paper: #16161a;--accent: #8ab4d4;--accent-soft: rgba(138, 180, 212, 0.30);--rule: #2b2b32;--plate: #e9e6e0;--global-theme-color: #8ab4d4;--global-bg-color: #16161a;--global-text-color: #eae7e1;--global-text-color-light: #7b766e;--global-hover-color: #8ab4d4}}body{background-color:var(--paper);color:var(--body);font:400 17px/1.62 "Crimson Pro", Garamond, Georgia, serif}p,ul,ol{margin:0 0 1.05em}section ul,section ol{padding-left:1.1em}section li{margin-bottom:0.28em}strong,b{color:var(--ink);font-weight:600}small{font-size:12px;color:var(--faint)}hr{background:var(--rule)}@media screen and (min-width: 961px){.wrapper{display:flex;align-items:flex-start;gap:58px;width:960px;max-width:100%;margin:0 auto}header{float:none;position:sticky;top:24px;flex:0 0 232px;width:232px;align-self:flex-start}section{float:none;flex:1 1 auto;width:auto;max-width:620px;padding-top:3.4em}footer{display:none}}section h2{font-family:"Ubuntu Mono", monospace;font-size:11px;font-weight:400;letter-spacing:0.19em;text-transform:uppercase;color:var(--muted);line-height:1;margin:3.4em 0 1.4em;padding-bottom:0.85em;border-bottom:1px solid var(--rule)}section h2:first-child{margin-top:0}section h3{font-size:17px;font-weight:600;color:var(--ink);margin:1.8em 0 0.4em}a{color:var(--accent);text-decoration:none}section a,header a:not(.image){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.16em;text-decoration-color:var(--accent-soft);transition:color 0.18s ease, text-decoration-color 0.18s ease}section a:hover,header a:not(.image):hover{color:var(--accent);text-decoration-color:var(--accent)}.social-icons a,.publications ol.bibliography li .links a.btn,.publications ol.bibliography li .abbr abbr a,.publications ol.bibliography li .title a,.past-roles a{text-decoration:none}.past-roles{color:var(--muted);font-size:16px}.past-roles a{color:var(--body);border-bottom:1px solid var(--rule);transition:color 0.18s ease, border-color 0.18s ease}.past-roles a:hover{color:var(--accent);border-bottom-color:var(--accent)}.past-roles .sep{color:var(--faint);padding:0 0.15em}header{padding-top:5.6em}header h1{font-family:"Crimson Pro", Garamond, Georgia, serif;font-size:27px;font-weight:600;line-height:1.15;letter-spacing:0.01em;color:var(--ink);margin:0 0 10px}header .image.avatar{display:block;width:132px;margin:0 auto 1.5em;border-radius:50%}header .image.avatar img{display:block;width:132px;height:132px;padding:0;object-fit:cover;object-position:50% 32%;border-radius:50%;border:1px solid var(--rule)}@media print, screen and (max-width: 960px){header .image.avatar{width:108px}header .image.avatar img{width:108px;height:108px}}position{display:block;color:var(--body);font-size:16px !important;line-height:1.4;margin-bottom:2px}header a:not(.image){text-decoration:none;border-bottom:1px solid var(--rule)}header a:not(.image):hover{border-bottom-color:var(--accent)}autocolor{color:var(--body);font-size:15px;line-height:1.35;display:inline-block}email{display:inline-block;font-family:"Ubuntu Mono", monospace;font-size:12.5px;color:var(--faint);letter-spacing:0.01em;margin-top:10px}.social-icons{margin-top:4px}.social-icons a{color:var(--muted) !important;width:2rem;height:2rem;line-height:2rem;margin-right:0.5rem;transition:color 0.18s ease}.social-icons a:hover{color:var(--accent) !important;background-color:transparent;transform:none}.publications{margin-top:0}.publications ol.bibliography li{min-height:0;margin-bottom:2.1rem}.publications ol.bibliography+br,.publications ol.bibliography li+br{display:none}.publications ol.bibliography li .abbr{height:auto;margin-bottom:0}.publications ol.bibliography li .teaser{width:210px;height:118px;object-fit:cover;background:var(--plate);border:1px solid var(--rule);border-radius:3px;box-shadow:none;margin:4px 0 0 0}@media (prefers-color-scheme: dark){.publications ol.bibliography li .teaser{filter:brightness(0.86) contrast(1.02) saturate(0.92)}}.publications ol.bibliography li .abbr abbr{top:10px;left:10px}.publications .badge{font-family:"Ubuntu Mono", monospace;font-weight:400;font-size:9.5px;letter-spacing:0.08em;padding:0.25em 0.45em;border-radius:2px;background-color:var(--accent);box-shadow:none;opacity:0.92}.publications ol.bibliography li .title{font-size:18px;font-weight:600;line-height:1.3;letter-spacing:0.002em;color:var(--ink)}.publications ol.bibliography li .title a{color:var(--ink)}.publications ol.bibliography li .title a:hover{color:var(--accent)}.publications ol.bibliography li .author{font-size:15px;line-height:1.45;color:var(--muted);margin-top:5px}.publications ol.bibliography li .author strong{color:var(--body);font-weight:600}.publications ol.bibliography li .periodical{font-family:"Ubuntu Mono", monospace;font-size:11.5px;letter-spacing:0.05em;text-transform:uppercase;color:var(--faint);margin-top:6px}.publications ol.bibliography li .periodical em{font-style:normal}.publications ol.bibliography li .links{margin-top:9px}.publications ol.bibliography li .links a.btn{color:var(--muted);border:1px solid var(--rule);border-radius:2px;font-family:"Ubuntu Mono", monospace;font-size:11px !important;letter-spacing:0.05em;padding:0.2rem 0.55rem;margin-right:5px;transition:color 0.18s ease, border-color 0.18s ease}.publications ol.bibliography li .links a.btn:hover{color:var(--accent);border-color:var(--accent)}#field{position:relative;width:100%;height:100vh;min-height:520px;overflow:hidden;background:var(--paper)}#field-canvas{position:absolute;inset:0;display:block;opacity:0;transition:opacity 1.1s ease}#field.ready #field-canvas{opacity:1}#field-overlay{position:absolute;left:6%;top:50%;transform:translateY(-50%);max-width:30rem;pointer-events:none;z-index:3}#field-overlay h1{font-family:"Crimson Pro", Garamond, Georgia, serif;font-size:clamp(38px, 5.2vw, 66px);font-weight:600;line-height:1.05;letter-spacing:0.005em;color:var(--ink);margin:0 0 0.4rem}#field-overlay .field-role{font-size:16px;color:var(--body);margin:0}#field-nodes{position:absolute;inset:0;z-index:4}.field-node{position:absolute;transform:translate(-50%, -50%);display:block;text-decoration:none !important;border-bottom:0 !important;padding:26px;border-radius:50%;outline:none}.field-node::before{content:"";position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;border:1px solid var(--accent);opacity:0.30;transition:opacity 0.3s ease, transform 0.3s ease}.field-dot{display:block;width:14px;height:14px;border-radius:50%;background:var(--accent);border:0;opacity:0.95;box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--accent-soft);transition:transform 0.3s ease, opacity 0.3s ease}.field-node:hover::before,.field-node:focus-visible::before,.field-node.active::before{opacity:0.7;transform:scale(1.12)}.field-node:hover .field-dot,.field-node:focus-visible .field-dot,.field-node.active .field-dot{opacity:1;transform:scale(1.2)}.field-label{position:absolute;left:30px;top:50%;transform:translateY(-50%) translateX(-4px);width:max-content;max-width:19rem;padding:0.5rem 0.75rem;background:var(--paper);border:1px solid var(--rule);border-radius:3px;opacity:0;visibility:hidden;transition:opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;pointer-events:none}.field-node.flip .field-label{left:auto;right:30px;transform:translateY(-50%) translateX(4px);text-align:right}.field-node:hover .field-label,.field-node:focus-visible .field-label,.field-node.active .field-label{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}.field-title{display:block;font-family:"Crimson Pro", Garamond, Georgia, serif;font-size:15.5px;font-weight:600;line-height:1.28;color:var(--ink)}.field-meta{display:block;margin-top:3px;font-family:"Ubuntu Mono", monospace;font-size:10px;letter-spacing:0.07em;text-transform:uppercase;color:var(--faint)}#field-scroll{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:10px;padding:6px 10px;text-decoration:none !important;border-bottom:0 !important;opacity:0.55;transition:opacity 0.25s ease}#field-scroll:hover,#field-scroll:focus-visible{opacity:1}.field-scroll-text{font-family:"Ubuntu Mono", monospace;font-size:10.5px;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.field-scroll-arrow{display:block;width:7px;height:7px;border-right:1px solid var(--muted);border-bottom:1px solid var(--muted);transform:rotate(45deg)}@media (prefers-reduced-motion: no-preference){@keyframes nudge{0%, 100%{transform:rotate(45deg) translate(0, 0)}50%{transform:rotate(45deg) translate(2px, 2px)}}.field-scroll-arrow{animation:nudge 2.4s ease-in-out infinite}}@media print, screen and (max-width: 960px){#field{display:none}}@media (hover: none){#field{display:none}}@media (prefers-reduced-motion: no-preference){@keyframes rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}header,section>*{animation:rise 0.62s cubic-bezier(0.22, 0.68, 0.24, 1) backwards}header{animation-delay:0.04s}section>*:nth-child(1){animation-delay:0.10s}section>*:nth-child(2){animation-delay:0.16s}section>*:nth-child(3){animation-delay:0.22s}section>*:nth-child(4){animation-delay:0.28s}section>*:nth-child(5){animation-delay:0.34s}section>*:nth-child(6){animation-delay:0.40s}section>*:nth-child(n+7){animation-delay:0.46s}}
