:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-0:#0c0b0a;--bg-1:#151311;--bg-2:#1c1a17;--scrim:#0c0b0ae0;--scrim-strong:#0c0b0af0;--line:#2a2622;--line-2:#3a3530;--line-strong:#6e665c;--ink-1:#ece7de;--ink-2:#a39b8f;--ink-3:#8f877b;--ink-off:#6b645b;--ink-inverse:#0c0b0a;--accent:#d9a55b;--accent-hover:#e6ba7a;--accent-pressed:#c69249;--accent-soft:#d9a55b1a;--accent-wash:#d9a55b0f;--accent-line:#d9a55b8c;--focus:var(--accent);--selection:#d9a55b47;--danger:#d97a99;--danger-soft:#d97a991a;--success:#a3c293;--success-soft:#a3c2931a;--font-display:"Source Serif 4 Variable", "Source Serif 4 Fallback", Georgia, "Times New Roman", serif;--font-ui:"Inter Variable", "Inter Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono Fallback", ui-monospace, "SFMono-Regular", Menlo, monospace;--fs-display:clamp(2.75rem, 1.5rem + 5.556vw, 6.5rem);--fs-h2:clamp(2rem, 1.5rem + 2.222vw, 3.5rem);--fs-lead:clamp(1.375rem, 1.208rem + .741vw, 1.875rem);--fs-h3:clamp(1.25rem, 1.167rem + .37vw, 1.5rem);--fs-pub:clamp(1.125rem, 1.083rem + .185vw, 1.25rem);--fs-read:clamp(1.0625rem, 1.021rem + .185vw, 1.1875rem);--fs-body:clamp(.9375rem, .917rem + .093vw, 1rem);--fs-small:clamp(.8125rem, .792rem + .093vw, .875rem);--fs-mono:.75rem;--fs-hud:.8125rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--section-pad:clamp(4.5rem, 3rem + 6.667vw, 9rem);--max:1312px;--cols:12;--margin:48px;--gutter:24px;--header-h:64px;--text-col-end:45vw;--radius-xs:3px;--radius:6px;--radius-lg:10px;--radius-pill:999px;--hairline:1px solid var(--line);--shadow-float:0 12px 32px -8px #0009, 0 2px 6px #0006;--ease:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-in:cubic-bezier(.55, 0, 1, .45);--t-fast:.12s;--t-med:.22s;--t-slow:.42s;--t-reveal:.64s;--t-scene:.6s;--stagger:60ms;--z-stage:0;--z-scrim:1;--z-content:2;--z-sticky:3;--z-header:10;--z-tooltip:20;--z-menu:30;--z-toast:40;--z-skip:50}@media (min-width:1440px){:root{--margin:64px;--gutter:32px}}@media (max-width:1199px){:root{--margin:40px}}@media (max-width:899px){:root{--cols:6;--margin:32px;--header-h:56px}}@media (max-width:599px){:root{--cols:4;--margin:20px;--gutter:16px}}@media (max-width:359px){:root{--margin:16px}}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s;--t-med:0s;--t-slow:0s;--t-reveal:0s;--t-scene:.2s;--stagger:0s}}@media (prefers-contrast:more){:root{--scrim:#0c0b0af5;--scrim-strong:#0c0b0af5}}*,:before,:after{box-sizing:border-box}html{background:var(--bg-0);color:var(--ink-1);font:400 var(--fs-body) / 1.55 var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-tap-highlight-color:transparent}body{min-height:100svh;margin:0;overflow-x:clip}h1,h2,h3,p,ul,ol,dl,dd,figure,fieldset,pre,blockquote{margin:0}ul,ol{padding:0;list-style:none}fieldset{border:0;min-width:0;padding:0}legend{padding:0}img,svg,canvas,picture{max-width:100%;display:block}img{height:auto}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}[hidden]{display:none!important}h1,h2,h3{font-family:var(--font-display);font-optical-sizing:auto;font-variant-numeric:lining-nums;color:var(--ink-1);text-wrap:balance}h2{font-size:var(--fs-h2);letter-spacing:-.015em;font-weight:420;line-height:1.08}h3{font-size:var(--fs-h3);font-weight:520;line-height:1.25}p{text-wrap:pretty}b,strong{font-weight:600}cite,em,i{font-style:normal}abbr[title]{text-decoration:none}code,pre,kbd,samp{font-family:var(--font-mono)}::selection{background:var(--selection);color:var(--ink-1)}a{color:inherit;text-decoration-line:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:.18em;transition:color var(--t-fast) var(--ease), text-decoration-color var(--t-fast) var(--ease);text-decoration-thickness:1px}a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:1.5px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}:focus:not(:focus-visible),[tabindex="-1"]:focus{outline:none}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{top:10px;left:max(12px, env(safe-area-inset-left));z-index:var(--z-skip);border-radius:var(--radius);background:var(--bg-1);border:1px solid var(--line-strong);color:var(--ink-1);padding:10px 16px;font-weight:550;text-decoration:none;position:fixed;transform:translateY(calc(-100% - 24px))}.skip-link:focus-visible{transform:none}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--ink-2:#d6d0c5;--ink-3:#b9b1a5;--line:#4a443d;--line-2:#6e665c;--line-strong:#a39b8f}}@media (forced-colors:active){:root{--focus:Highlight}.stage,.scrims,.section:before,.hero:before,.hero-text:before,.band:before,.pub:after{display:none!important}.btn,.chip,.icon-btn,.panel,.hud,.map-tooltip,.map-card,.toasts>*,input,select,textarea{border:1px solid buttontext}.pub.is-linked,.pub.is-pinned{outline-offset:2px;outline:2px solid highlight}.chip:has(input:checked){outline-offset:2px;outline:2px solid highlight}.pub:before,.area:before,.site-nav a:after{background:highlight}.glyph,.icon,.mark{forced-color-adjust:auto}}:root{--pad-x:max(var(--margin), env(safe-area-inset-left), env(safe-area-inset-right));--ramp:min(22vw, 320px);--scrim-band:#0c0b0ae6;--span-hero:7;--span-text:5;--span-list:6;--span-form:6;--filters-h:0px}@media (max-width:1199px){:root{--span-hero:8;--span-text:6;--span-list:7;--span-form:7}}@media (prefers-contrast:more){:root{--scrim-band:#0c0b0af5}}@media (min-width:1280px){html:has(.pub-filters:not([hidden])){--filters-h:64px}}@media (min-width:900px) and (max-width:1279px){html:has(.pub-filters:not([hidden])){--filters-h:108px}}@media (min-width:1280px){html:has(.pub-filters--long:not([hidden])){--filters-h:108px}}@media (min-width:900px) and (max-width:1279px){html:has(.pub-filters--long:not([hidden])){--filters-h:176px}}.wrap{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);width:min(100% - 2 * var(--pad-x), var(--max));margin-inline:auto;display:grid}.wrap>*{grid-column:1/-1;min-width:0}.stage{height:100lvh;z-index:var(--z-stage);isolation:isolate;pointer-events:none;background:var(--bg-0);position:fixed;inset:0 0 auto;overflow:hidden}.stage picture,.stage-poster,.stage canvas{width:100%;height:100%;position:absolute;inset:0}.stage-poster{object-fit:cover;object-position:right center;transition:opacity var(--t-scene) var(--ease)}.stage canvas{opacity:0;pointer-events:none;transition:opacity var(--t-scene) var(--ease)}html[data-scene=live] .stage canvas{opacity:1}html[data-scene=live] .stage-poster{opacity:0}@media (max-width:899px){.stage-poster{object-position:center top}}.scrims{z-index:var(--z-scrim);pointer-events:none;position:fixed;inset:0}.scrim-top{height:calc(var(--header-h) + 56px);background:linear-gradient(180deg, var(--scrim) 0, var(--scrim) var(--header-h), transparent 100%);position:absolute;inset:0 0 auto}main{z-index:var(--z-content);position:relative}.section{padding-block:var(--section-pad);position:relative}@media (min-width:900px){.section:before{--w:min(100% - 2 * var(--pad-x), var(--max));--col:calc((var(--w) - (var(--cols) - 1) * var(--gutter)) / var(--cols));content:"";z-index:-1;width:calc((100% - var(--w)) / 2 + var(--span) * var(--col) + (var(--span) - 1) * var(--gutter) + var(--scrim-gap,var(--gutter)) + var(--scrim-ramp,var(--ramp)));background:linear-gradient(90deg, var(--scrim-strong) 0, var(--scrim) calc(100% - var(--scrim-ramp,var(--ramp))), transparent 100%);pointer-events:none;position:absolute;inset:0 auto 0 0}.about,.research{--span:var(--span-text)}.publications{--span:var(--span-list);--scrim-gap:0px;--scrim-ramp:var(--gutter)}.contact{--span:var(--span-form)}html:not([data-scene=live]) .publications{--span:calc(var(--span-list) + 2);--scrim-gap:var(--gutter);--scrim-ramp:var(--ramp)}}@media (max-width:899px){.band{isolation:isolate;position:relative}.band:before{content:"";inset:-48px calc(-1 * var(--pad-x));z-index:-1;background:linear-gradient(180deg, transparent 0, var(--scrim-band) 48px, var(--scrim-band) calc(100% - 48px), transparent 100%);pointer-events:none;position:absolute}}.scene-window{pointer-events:none;position:relative}html[data-scene=live] .scene-window[data-interactive]{pointer-events:auto;touch-action:pan-y}.site-header{z-index:var(--z-header);height:var(--header-h);background-color:var(--bg-0);border-bottom:1px solid var(--line);position:fixed;inset:0 0 auto}@supports (animation-timeline:scroll()){.site-header{animation:linear both header-solid;animation-timeline:scroll(root);animation-range:0 24px}}@keyframes header-solid{0%{background-color:#0000;border-bottom-color:#0000}to{background-color:var(--bg-0);border-bottom-color:var(--line)}}.header-bar{align-items:center;gap:var(--s-6);width:min(100% - 2 * var(--pad-x), var(--max));height:100%;margin-inline:auto;display:flex}.header-tools{align-items:center;gap:var(--s-3);flex:none;margin-left:auto;display:flex}@media (max-width:599px){.header-bar{gap:var(--s-3)}.header-tools{gap:var(--s-1)}}.site-nav ul{gap:28px;display:flex}@media (max-width:1199px){.site-nav ul{gap:22px}}@media (max-width:899px){.site-nav,.header-tools>.motion-toggle{display:none}}@media (min-width:900px){.menu-btn,.menu{display:none!important}}@media (max-width:899px){html:has(#lang-hint:not([hidden])){scroll-padding-top:calc(var(--header-h) + 52px + 16px)}}.site-footer{z-index:var(--z-content);background:var(--bg-0);border-top:var(--hairline);padding-block:var(--s-8) max(var(--s-7), env(safe-area-inset-bottom));position:relative}.icon{flex:none;width:1em;height:1em}.glyph{width:12px;height:12px;color:var(--ink-2);transition:color var(--t-fast) var(--ease);flex:none}.math{vertical-align:-.06em;width:.62em;height:.82em;margin-inline:.02em;display:inline-block}.mark{flex:none;width:24px;height:24px}.mark-ring{stroke:var(--ink-2);stroke-opacity:.78}.mark-ring-outer{stroke-opacity:.42}.mark-trail{stroke:var(--accent);stroke-opacity:.6}.mark-min{fill:var(--accent)}.brand{min-width:0;min-height:40px;color:var(--ink-1);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-name{text-overflow:ellipsis;font:520 18px / 1.2 var(--font-display);font-optical-sizing:auto;letter-spacing:-.005em;white-space:nowrap;overflow:hidden}@media (max-width:359px){.header-bar .brand-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.kicker{align-items:center;gap:var(--s-4);font:450 var(--fs-mono) / 1.4 var(--font-mono);letter-spacing:.08em;color:var(--ink-2);display:flex}.kicker>span{color:var(--ink-1)}.kicker:after{content:"";background:var(--line);flex:1;height:1px}.btn{border-radius:var(--radius);min-height:44px;font:550 15px / 1.2 var(--font-ui);white-space:nowrap;transition:background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 18px;text-decoration:none;display:inline-flex}.btn .icon{width:18px;height:18px}.icon-arrow{transition:transform var(--t-med) var(--ease)}.btn:hover .icon-arrow,.btn-quiet:hover .icon-arrow,a:hover>.icon-arrow{transform:translate(2px)}.btn-ghost{border-color:var(--line-strong);color:var(--ink-1);background:0 0}.btn-ghost:hover{border-color:var(--accent);background-color:color-mix(in srgb, var(--accent) 8%, transparent);text-decoration:none}.btn-ghost:active{background-color:color-mix(in srgb, var(--accent) 14%, transparent)}.btn-primary{background:var(--accent);border-color:var(--accent);min-height:48px;color:var(--ink-inverse);padding:0 22px;font-weight:600}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active{background:var(--accent-pressed);border-color:var(--accent-pressed);transform:translateY(1px)}.btn-primary[aria-disabled=true]{cursor:progress}.btn-sm{gap:8px;min-height:36px;padding:0 12px;font-size:14px}.btn-sm .icon{width:16px;height:16px}.btn-quiet{min-height:32px;color:var(--ink-2);font:500 var(--fs-small) / 1.3 var(--font-ui);text-underline-offset:.25em;transition:color var(--t-fast) var(--ease), text-decoration-color var(--t-fast) var(--ease);align-items:center;gap:8px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.btn-quiet:hover{color:var(--ink-1);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.btn-quiet .icon{width:16px;height:16px}.icon-btn{border-radius:var(--radius);width:40px;height:40px;color:var(--ink-2);transition:background-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);flex:none;place-items:center;display:inline-grid}.icon-btn:hover{color:var(--ink-1);background-color:#ece7de0f}.icon-btn .icon{width:20px;height:20px}.icon-btn-sm{width:32px;height:32px}.icon-btn-sm .icon{width:16px;height:16px}.motion-toggle[aria-pressed=true] .icon-pause,.motion-toggle[aria-pressed=true] .when-playing,.motion-toggle:not([aria-pressed=true]) .icon-play,.motion-toggle:not([aria-pressed=true]) .when-paused{display:none}.motion-toggle[aria-pressed=true]{color:var(--accent)}.copy-btn .icon-check,.copy-btn .when-copied,.copy-btn.is-copied .icon:not(.icon-check),.copy-btn.is-copied .when-idle{display:none}.copy-btn.is-copied .icon-check{display:block}.copy-btn.is-copied .when-copied{display:inline}.copy-btn.is-copied{color:var(--success)}.link-ext{align-items:center;gap:4px;display:inline-flex}.link-ext .icon-ext{width:13px;height:13px;color:var(--ink-2);transition:color var(--t-fast) var(--ease)}.link-ext:hover .icon-ext{color:var(--accent)}.link-file{align-items:center;gap:6px;display:inline-flex}.link-file .icon{width:15px;height:15px;color:var(--ink-2)}.panel{background:var(--bg-1);border:var(--hairline);border-radius:var(--radius-lg);padding:var(--s-6)}@media (max-width:599px){.panel{padding:var(--s-5) var(--s-4)}}.panel-title{font:450 var(--fs-mono) / 1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.venue-badge{border:1px solid var(--line-2);border-radius:var(--radius-xs);font:450 var(--fs-mono) / 1.3 var(--font-mono);color:var(--ink-1);white-space:nowrap;padding:2px 6px;display:inline-block}.lang-switch{font:450 var(--fs-mono) / 1 var(--font-mono);letter-spacing:.06em;align-items:center;display:flex}.lang-switch>*{place-items:center;min-width:32px;min-height:32px;padding-inline:4px;display:inline-grid}.lang-current{color:var(--ink-1);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:.45em}.lang-other{color:var(--ink-2);text-decoration:none;position:relative}.lang-other:before{content:"";background:var(--line-2);width:1px;height:14px;position:absolute;top:calc(50% - 7px);left:0}.lang-other:hover{color:var(--ink-1)}.lang-hint{border:1px solid var(--line-2);border-radius:var(--radius-pill);background:var(--bg-1);font:500 13px / 1.2 var(--font-ui);align-items:center;gap:2px;padding-left:12px;display:flex}.lang-hint a{min-height:32px;color:var(--ink-1);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.lang-hint a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.lang-hint .icon-arrow{width:14px;height:14px}.lang-hint .icon-btn{border-radius:var(--radius-pill)}@media (max-width:899px){.lang-hint{padding:4px var(--pad-x) 4px var(--pad-x);border:0;border-bottom:var(--hairline);border-radius:0;justify-content:space-between;position:absolute;top:100%;left:0;right:0}}.site-nav a{min-height:40px;color:var(--ink-2);font:500 14px / 1 var(--font-ui);transition:color var(--t-fast) var(--ease);align-items:center;text-decoration:none;display:inline-flex;position:relative}.site-nav a:hover,.site-nav a[aria-current=true]{color:var(--ink-1)}.site-nav a:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform var(--t-med) var(--ease);position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0)}.site-nav a[aria-current=true]:after{transform:scaleX(1)}.menu-btn{border-radius:var(--radius);min-height:40px;color:var(--ink-1);font:500 14px / 1 var(--font-ui);align-items:center;gap:8px;padding:0 10px 0 8px;display:inline-flex}.menu-btn:hover{background-color:#ece7de0f}.menu-btn .icon{width:20px;height:20px}@media (max-width:599px){.menu-btn{justify-content:center;min-width:44px;padding:0}.menu-btn span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.menu{width:100%;max-width:none;height:100dvh;max-height:none;padding:0 var(--pad-x) max(var(--s-6), env(safe-area-inset-bottom));background:var(--bg-0);color:var(--ink-1);border:0;margin:0;position:fixed;inset:0;overflow-y:auto}.menu[open]{gap:var(--s-5);flex-direction:column;display:flex}.menu::backdrop{background:#0c0b0a99}@media (prefers-reduced-motion:no-preference){.menu[open]{animation:menu-in var(--t-med) var(--ease)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}}.menu-head{min-height:var(--header-h);border-bottom:var(--hairline);justify-content:space-between;align-items:center;display:flex}.menu-close{border-radius:var(--radius);min-height:44px;color:var(--ink-1);font:500 14px / 1 var(--font-ui);align-items:center;gap:8px;padding:0 10px;display:inline-flex}.menu-close .icon,.menu-row .icon{width:20px;height:20px}.menu-row{border-bottom:var(--hairline);min-height:48px;color:var(--ink-2);font:500 15px / 1.2 var(--font-ui);text-align:left;align-items:center;gap:12px;padding:0 4px;display:flex}.menu-row:hover{color:var(--ink-1)}.menu-nav ul{display:grid}.menu-nav a{align-items:baseline;gap:var(--s-4);border-bottom:var(--hairline);color:var(--ink-1);font:420 28px / 1.15 var(--font-display);padding:14px 4px;text-decoration:none;display:flex}.menu-nav a[aria-current=true] .menu-num{color:var(--accent)}.menu-num{font:450 var(--fs-mono) / 1 var(--font-mono);letter-spacing:.08em;color:var(--ink-2);min-width:2.2em}.menu-cta{align-self:flex-start}.menu-lang{align-items:center;gap:var(--s-3);color:var(--ink-2);font:450 var(--fs-mono) / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-top:auto;display:flex}.menu .lang-switch>*{min-width:44px;min-height:44px}.field{align-content:start;gap:var(--s-2);min-width:0;display:grid}.field label{font:550 14px / 1.3 var(--font-ui);color:var(--ink-1)}.field input,.field textarea,.field select{background-color:var(--bg-0);border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;min-height:48px;color:var(--ink-1);font-size:var(--fs-body);transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);padding:12px 14px;line-height:1.4}.field textarea{resize:vertical;min-height:168px}.field ::placeholder{color:var(--ink-3);opacity:1}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--ink-3)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.field [aria-invalid=true],.field.has-error input,.field.has-error textarea,.field.has-error select{border-color:var(--danger)}.field [aria-invalid=true]:focus,.field.has-error :focus{box-shadow:inset 0 0 0 1px var(--danger)}.field [readonly],.contact-form[aria-busy=true] .field :is(input,textarea,select){color:var(--ink-2)}.field :disabled{border-color:var(--line);color:var(--ink-off);cursor:not-allowed;background:0 0}select{appearance:none;cursor:pointer;background-image:url(/assets/chevron-down-Dx0NXBJx.svg);background-position:right 12px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:40px!important}select option{background:var(--bg-1);color:var(--ink-1)}.field select:has(option[value=""]:checked){color:var(--ink-3)}.field-error{color:var(--danger);font:450 13px / 1.4 var(--font-ui);align-items:flex-start;gap:6px;display:flex}.field-error:before,.alert-mark:before{content:"";background:currentColor;flex:none;width:16px;height:16px;margin-top:1px;-webkit-mask:url(/assets/alert-pebKm_9s.svg) 50%/contain no-repeat;mask:url(/assets/alert-pebKm_9s.svg) 50%/contain no-repeat}.counter{font:450 var(--fs-mono) / 1.4 var(--font-mono);color:var(--ink-2);font-variant-numeric:tabular-nums;justify-self:end}.counter.has-error{color:var(--danger)}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.error-summary{padding:var(--s-3) var(--s-4);border-left:2px solid var(--danger);background:var(--danger-soft);border-radius:0 var(--radius) var(--radius) 0;color:var(--ink-1);font-size:14px}.error-summary p{align-items:center;gap:8px;font-weight:550;display:flex}.error-summary p .icon{width:16px;height:16px;color:var(--danger)}.error-summary ul:not(:empty){margin-top:6px;padding-left:24px;list-style:outside}.error-summary a{color:var(--ink-1)}.bib summary{list-style:none}.bib summary::-webkit-details-marker{display:none}.bib-code{margin-top:var(--s-3);background:var(--bg-2);border:var(--hairline);border-radius:var(--radius);max-width:100%;max-height:220px;color:var(--ink-1);font:400 12.5px / 1.55 var(--font-mono);tab-size:2;white-space:pre;scrollbar-color:var(--line-strong) transparent;padding:12px 14px;overflow:auto}.hud{--tick:8px;--tick-c:var(--line-strong);gap:var(--s-3);width:288px;padding:var(--s-4);background:linear-gradient(var(--tick-c), var(--tick-c)) top left / var(--tick) 1px no-repeat, linear-gradient(var(--tick-c), var(--tick-c)) top left / 1px var(--tick) no-repeat, linear-gradient(var(--tick-c), var(--tick-c)) top right / var(--tick) 1px no-repeat, linear-gradient(var(--tick-c), var(--tick-c)) top right / 1px var(--tick) no-repeat, linear-gradient(var(--tick-c), var(--tick-c)) bottom left / var(--tick) 1px no-repeat, linear-gradient(var(--tick-c), var(--tick-c)) bottom left / 1px var(--tick) no-repeat, linear-gradient(var(--tick-c), var(--tick-c)) bottom right / var(--tick) 1px no-repeat, linear-gradient(var(--tick-c), var(--tick-c)) bottom right / 1px var(--tick) no-repeat, var(--scrim);font:450 var(--fs-hud) / 1.5 var(--font-mono);display:grid;position:relative}.hud-readout{gap:2px;display:grid}.hud-readout>div{justify-content:space-between;align-items:baseline;gap:var(--s-4);display:flex}.hud-readout dt{font-size:var(--fs-mono);color:var(--ink-2)}.hud-readout dd{color:var(--ink-1);font-variant-numeric:tabular-nums}.hud-status{font-size:var(--fs-mono);color:var(--ink-2);align-items:center;gap:8px;display:flex}.hud-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.hud-btn{background:var(--bg-1);justify-self:start}.hud-caption{font:400 12px / 1.4 var(--font-ui);color:var(--ink-2)}.for-touch{display:none}@media (pointer:coarse){.for-mouse{display:none}.for-touch{display:inline}}.map-frame{--tick:12px;--tick-c:var(--line-strong);background:linear-gradient(var(--tick-c), var(--tick-c)) top left / var(--tick) 1px no-repeat, linear-gradient(var(--tick-c), var(--tick-c)) top left / 1px var(--tick) no-repeat, linear-gradient(var(--tick-c), var(--tick-c)) top right / var(--tick) 1px no-repeat, linear-gradient(var(--tick-c), var(--tick-c)) top right / 1px var(--tick) no-repeat, linear-gradient(var(--tick-c), var(--tick-c)) bottom left / var(--tick) 1px no-repeat, linear-gradient(var(--tick-c), var(--tick-c)) bottom left / 1px var(--tick) no-repeat, linear-gradient(var(--tick-c), var(--tick-c)) bottom right / var(--tick) 1px no-repeat, linear-gradient(var(--tick-c), var(--tick-c)) bottom right / 1px var(--tick) no-repeat;flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.map-caption{background:var(--scrim);font:450 var(--fs-mono) / 1.5 var(--font-mono);color:var(--ink-2);gap:6px;margin:0 1px 1px;padding:10px 14px 12px;display:grid}.map-legend{color:var(--ink-1);flex-wrap:wrap;gap:4px 14px;display:flex}.map-legend span{align-items:center;gap:6px;display:inline-flex}.map-legend .glyph{width:10px;height:10px}.map-tooltip,.map-tag,.cluster-labels{z-index:var(--z-tooltip);position:fixed;top:0;left:0}.map-tooltip{background:var(--bg-1);border:var(--hairline);max-width:300px;box-shadow:var(--shadow-float);font:400 13px / 1.4 var(--font-ui);color:var(--ink-2);border-radius:8px;gap:4px;padding:10px 12px;display:grid}.tt-meta{font:450 var(--fs-mono) / 1.4 var(--font-mono)}.tt-title{-webkit-line-clamp:2;line-clamp:2;font:480 15px / 1.35 var(--font-display);color:var(--ink-1);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tt-hint{font-size:12px}.tt-meta:empty,.tt-title:empty,.tt-authors:empty{display:none}.map-tag{background:var(--bg-1);border:1px solid var(--accent-line);border-radius:var(--radius-xs);font:450 var(--fs-mono) / 1.3 var(--font-mono);color:var(--ink-1);white-space:nowrap;pointer-events:none;padding:3px 6px}.cluster-labels{pointer-events:none}.cluster-label{background:var(--bg-1);border:var(--hairline);border-radius:var(--radius-pill);font:500 12px / 1.2 var(--font-ui);color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;display:inline-flex;position:absolute;top:0;left:0}.cluster-label .glyph{width:10px;height:10px}.cluster-label.is-active{color:var(--ink-1);border-color:var(--line-strong)}.cluster-label.is-active .glyph{color:var(--accent)}.map-card{background:var(--bg-1);border:var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);gap:6px;padding:14px 52px 14px 16px;display:grid;position:relative}.card-meta{font:450 var(--fs-mono) / 1.4 var(--font-mono);color:var(--ink-2)}.card-title{-webkit-line-clamp:2;line-clamp:2;font:480 var(--fs-pub) / 1.35 var(--font-display);color:var(--ink-1);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-authors{color:var(--ink-2);font-size:13px}.card-meta:empty,.card-title:empty,.card-authors:empty{display:none}.card-actions{align-items:center;gap:var(--s-4);margin-top:4px;display:flex}.card-close{position:absolute;top:6px;right:6px}.toasts{right:max(var(--s-5), env(safe-area-inset-right));bottom:max(var(--s-5), env(safe-area-inset-bottom));z-index:var(--z-toast);justify-items:end;gap:var(--s-2);pointer-events:none;display:grid;position:fixed}.toasts>*{background:var(--bg-2);border:var(--hairline);max-width:min(420px,100vw - 32px);box-shadow:var(--shadow-float);font:450 14px / 1.4 var(--font-ui);color:var(--ink-1);pointer-events:auto;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;display:flex}.toasts .icon{width:16px;height:16px}@media (prefers-reduced-motion:no-preference){.toasts>*{animation:toast-in var(--t-med) var(--ease)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (max-width:599px){.toasts{left:var(--s-4);right:var(--s-4);bottom:max(var(--s-4), env(safe-area-inset-bottom));justify-items:center}}.reveal-pending{opacity:0;transform:translateY(12px)}@media (prefers-reduced-motion:no-preference){:where(main *){transition:opacity var(--t-reveal) var(--ease) var(--reveal-delay,0s), transform var(--t-reveal) var(--ease) var(--reveal-delay,0s)}}@media (prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}}@media (pointer:coarse){.btn-sm,.btn-quiet,.menu-btn{min-height:44px}.icon-btn,.icon-btn-sm{width:44px;height:44px}.lang-switch>*{min-width:44px;min-height:44px}.lang-hint a{min-height:44px}.field input,.field select,.field textarea{font-size:16px}}html:not([data-scene=live]) [data-needs-scene]{display:none!important}.section-head{margin-bottom:var(--s-7);display:grid}.section-head h2{margin-top:var(--s-4);scroll-margin-top:calc(var(--header-h) + 64px)}.lead{margin-top:var(--s-5);max-width:34ch;font:400 var(--fs-lead) / 1.32 var(--font-display);font-optical-sizing:auto;font-variant-numeric:oldstyle-nums proportional-nums;color:var(--ink-2)}.section-text{grid-column:1 / span var(--span-text)}.hero{--hero-pad-b:clamp(32px, 7svh, 72px);padding-top:var(--header-h);position:relative}.hero-grid{min-height:calc(max(100svh, 560px) - var(--header-h));padding-bottom:var(--hero-pad-b);grid-template-rows:1fr auto}.hero-text{grid-column:1 / span var(--span-hero);grid-row:2;align-self:end;justify-items:start;display:grid;position:relative}.display{font-size:var(--fs-display);letter-spacing:-.022em;text-wrap:nowrap;font-weight:380;line-height:1.02}.h1-given,.h1-family{display:block}.hero-role{margin-top:var(--s-5);font:500 var(--fs-read) / 1.4 var(--font-ui);color:var(--ink-1)}.hero-statement{margin-top:var(--s-4);max-width:34ch;font:400 var(--fs-lead) / 1.32 var(--font-display);font-optical-sizing:auto;color:var(--ink-2)}.hero-cta{align-items:center;gap:var(--s-4) var(--s-6);margin-top:var(--s-6);flex-wrap:wrap;display:flex}.hero-meta{align-items:center;gap:var(--s-2) var(--s-5);margin-top:var(--s-5);font:400 14px / 1.4 var(--font-ui);color:var(--ink-2);flex-wrap:wrap;display:flex}.hero-place .sep{margin-inline:8px}.hero-links{gap:4px var(--s-4);flex-wrap:wrap;display:flex}.hero-links a{min-height:32px;color:var(--ink-2);text-decoration-color:#0000}.hero-links a:hover{color:var(--ink-1);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.noscript{margin-top:var(--s-5);max-width:52ch;font:400 13px / 1.45 var(--font-ui);color:var(--ink-2);align-items:flex-start;gap:8px;display:flex}.noscript .icon{width:16px;height:16px;margin-top:1px}.scroll-cue{margin-top:var(--s-6);font:450 var(--fs-mono) / 1.4 var(--font-mono);letter-spacing:.04em;color:var(--ink-2);align-items:center;gap:8px;display:inline-flex}.scroll-cue .icon{width:14px;height:14px}.hero .hud{grid-area:2/-4/auto/-1;place-self:end;max-width:100%}.hero .scene-window{margin-right:calc(-1 * var(--pad-x));margin-bottom:calc(-1 * var(--hero-pad-b));grid-area:1/8/-1/-1}@media (max-width:1199px){.hero .scene-window{grid-column:9/-1}}@media (min-width:900px){.hero-text:before{content:"";z-index:-1;top:-64px;bottom:calc(-1 * var(--hero-pad-b));left:-100vw;right:calc(-1 * (var(--gutter) + var(--ramp)));background:linear-gradient(90deg, var(--scrim-strong) 0, var(--scrim) calc(100% - var(--ramp)), transparent 100%);pointer-events:none;position:absolute;-webkit-mask-image:linear-gradient(#0000 0,#000 48px);mask-image:linear-gradient(#0000 0,#000 48px)}}@media (max-width:899px){.hero-grid{min-height:0;padding-bottom:var(--s-7);grid-template-rows:45svh auto}.hero .scene-window{margin:0 calc(-1 * var(--pad-x));grid-area:1/1/auto/-1}.hero-text{padding-top:var(--s-2);grid-area:2/1/auto/-1}.hero .hud{width:auto;margin-bottom:var(--s-3);background:0 0;grid-area:1/1/auto/-1;padding:0}.hud-readout,.hud-status,.hud-caption{display:none}}@media (max-height:500px){.hero-grid{grid-template-rows:auto;min-height:0}.hero .scene-window,.hero .hud{display:none}.hero-text{padding-top:var(--s-6);grid-row:1}.hero-text:before{content:none}.hero:before{content:"";z-index:-1;background:var(--scrim-strong);pointer-events:none;position:absolute;inset:0}}.bio{font:400 var(--fs-read) / 1.62 var(--font-display);font-optical-sizing:auto;font-variant-numeric:oldstyle-nums proportional-nums;color:var(--ink-1);gap:1em;display:grid}.bio p{max-width:64ch}.portrait{margin-bottom:var(--s-6)}.portrait img{border-radius:var(--radius);border:var(--hairline);width:128px}.facts{gap:var(--s-5) var(--s-6);margin-top:var(--s-7);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fact{padding-top:var(--s-3);border-top:var(--hairline)}.fact dt{font:450 var(--fs-mono) / 1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.fact dd{font:400 15px / 1.45 var(--font-ui);color:var(--ink-1);margin-top:6px}.about-actions{align-items:center;gap:var(--s-4) var(--s-6);margin-top:var(--s-7);flex-wrap:wrap;display:flex}@media (max-width:359px){.facts{grid-template-columns:minmax(0,1fr)}}.areas{display:grid}.area{column-gap:var(--s-3);border-top:var(--hairline);grid-template-columns:24px minmax(0,1fr);padding:28px 0;display:grid;position:relative}.area:last-child{border-bottom:var(--hairline)}.area-glyph{padding-top:10px}.area h3{text-wrap:balance}.area-summary{margin-top:var(--s-2);max-width:52ch;color:var(--ink-2)}.keywords{margin-top:var(--s-3);font:450 var(--fs-mono) / 1.6 var(--font-mono);color:var(--ink-2);flex-wrap:wrap;display:flex}.keywords li{white-space:nowrap}.keywords li:not(:last-child):after{content:"·" / "";margin-inline:8px}.area-link{margin-top:var(--s-3)}.area:before{content:"";background:var(--accent);transform-origin:top;width:2px;transition:transform var(--t-med) var(--ease);position:absolute;top:28px;bottom:28px;left:-12px;transform:scaleY(0)}.area:hover:before,.area:focus-within:before,.area.is-active:before{transform:scaleY(1)}.area:hover .glyph,.area:focus-within .glyph,.area.is-active .glyph{color:var(--accent)}.research .scene-window{display:none}.pub-notes{gap:6px var(--s-5);margin-top:var(--s-4);font:400 13px / 1.45 var(--font-ui);color:var(--ink-2);flex-wrap:wrap;display:flex}.sample-notice{align-items:center;gap:6px;display:inline-flex}.sample-notice .icon{width:15px;height:15px}.updated{font:450 var(--fs-mono) / 1.6 var(--font-mono)}.pub-filters{z-index:var(--z-sticky);margin-bottom:var(--s-6);background:var(--bg-0);border-block:var(--hairline);position:relative}@media (min-width:900px){.pub-filters{top:calc(var(--header-h) - 1px);position:sticky}}.filters-row{align-items:center;gap:10px var(--s-5);flex-wrap:wrap;padding-block:11px;display:flex}.filter-label{font:450 var(--fs-mono) / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.chips{align-items:center;gap:var(--s-3);display:flex}.chips>legend{float:left}.chip-row{gap:var(--s-2);flex-wrap:wrap;display:flex}.chip{border:1px solid var(--line-2);border-radius:var(--radius-pill);min-height:36px;color:var(--ink-2);font:500 14px / 1 var(--font-ui);white-space:nowrap;cursor:pointer;transition:background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);align-items:center;gap:7px;padding:0 14px;display:inline-flex;position:relative}.chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.chip .icon-check{width:14px;height:14px;margin-left:-2px;display:none}.chip:hover{border-color:var(--line-strong);color:var(--ink-1)}.chip input:checked~.icon-check{display:block}.chip input:checked~.glyph{color:var(--accent)}.chip:has(input:checked){background:var(--accent-soft);border-color:var(--accent-line);color:var(--ink-1)}.chip:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.year-filter{align-items:center;gap:10px;display:inline-flex}.year-filter select{background-color:var(--bg-0);border:1px solid var(--line-strong);border-radius:var(--radius);min-height:36px;color:var(--ink-1);font:500 14px / 1 var(--font-ui);padding:0 14px}.year-filter select:hover{border-color:var(--ink-3)}.pub-count{font:450 13px / 1.4 var(--font-ui);font-variant-numeric:tabular-nums;color:var(--ink-2);margin-left:auto}.pub-filters:not(:has(input[name=area]:checked:not([value=""]),select option:checked:not([value=""]))) .clear-filters{display:none}@media (pointer:coarse){.chip,.year-filter select{min-height:44px}}@media (max-width:1279px){.chips{flex-wrap:wrap;flex-basis:100%}}.pub-filters--long .chips{flex-wrap:wrap;flex-basis:100%}.pub-main{grid-column:1 / span var(--span-list);grid-row:1}.map-window{top:calc(var(--header-h) + var(--filters-h) + var(--s-5));height:calc(100svh - var(--header-h) - var(--filters-h) - var(--s-5) - var(--s-7));grid-area:1/7/auto/-1;align-self:start;min-height:320px;position:sticky}@media (max-width:1199px){.map-window{grid-column:8/-1}}.map-toggle,.map-card{display:none!important}.map-toggle,.hud-btn{background-color:var(--bg-1)}.map-toggle:hover,.hud-btn:hover{background-color:var(--bg-1);background-image:linear-gradient(color-mix(in srgb, var(--accent) 8%, transparent), color-mix(in srgb, var(--accent) 8%, transparent))}.map-toggle:active,.hud-btn:active{background-image:linear-gradient(color-mix(in srgb, var(--accent) 14%, transparent), color-mix(in srgb, var(--accent) 14%, transparent))}html:not([data-scene=live]) .pub-main{grid-column:1/-1;max-width:760px}@media (max-width:899px){.pub-main{grid-area:3/1/auto/-1}.map-toggle:not([hidden]){margin-bottom:var(--s-4);grid-row:1;justify-self:start;display:inline-flex!important}.map-toggle[aria-expanded=true] .when-collapsed,.map-toggle:not([aria-expanded=true]) .when-expanded{display:none}.map-window{height:50svh;min-height:260px;margin:0 calc(-1 * var(--pad-x)) var(--s-5);grid-area:2/1/auto/-1;display:none;position:relative;top:auto}.map-toggle[aria-expanded=true]~.map-window{display:block}.map-card:not([hidden]){z-index:1;margin-bottom:calc(var(--s-5) + var(--s-3));grid-area:2/1/auto/-1;align-self:end;display:grid!important}}.pub-hint{margin-bottom:var(--s-3);font:400 13px / 1.45 var(--font-ui);color:var(--ink-2)}.pub{isolation:isolate;border-top:var(--hairline);scroll-margin-top:calc(var(--header-h) + var(--filters-h) + var(--s-4));transition:opacity var(--t-reveal) var(--ease) var(--reveal-delay,0s), transform var(--t-reveal) var(--ease) var(--reveal-delay,0s);grid-template-columns:64px minmax(0,1fr);padding:20px 0;display:grid;position:relative}.pub:last-child{border-bottom:var(--hairline)}.pub-year{font:450 13px / 1.4 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-2);transition:color var(--t-med) var(--ease);padding-top:1px}.pub:not(.is-year-start) .pub-year{visibility:hidden}.pub-year-inline{display:none}.pub-body{grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;display:grid}.pub-meta{font:400 12px / 1.4 var(--font-ui);color:var(--ink-2);flex-wrap:wrap;align-items:center;row-gap:4px;display:flex}.pub-meta>*+:before{content:"·" / "";color:var(--ink-2);margin-inline:8px}.pub-area{align-items:center;display:inline-flex}.pub-area .glyph{width:10px;height:10px;margin-right:6px}.pub-title{font:480 var(--fs-pub) / 1.35 var(--font-display);font-optical-sizing:auto;text-wrap:pretty;margin-top:2px}.pub-title a{text-decoration-color:#0000}.pub-title a:hover,.pub-title a:focus-visible{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.pub-authors{font:400 14px / 1.5 var(--font-ui);color:var(--ink-2)}.pub-authors b{color:var(--ink-1)}.pub-venue{font:400 13px / 1.45 var(--font-ui);color:var(--ink-2)}.pub-actions{margin-top:4px;display:flow-root}.action{float:left;min-height:32px;margin-right:var(--s-4);color:var(--ink-2);font:500 13px / 1 var(--font-ui);cursor:pointer;transition:color var(--t-fast) var(--ease);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.action .icon{width:16px;height:16px;transition:color var(--t-fast) var(--ease)}.action:hover,.bib[open]>summary{color:var(--ink-1)}.action:hover .icon{color:var(--accent)}.bib>summary.action{float:none;vertical-align:top}.bib-code{clear:both}@media (pointer:coarse){.action{min-height:44px}}.pub:before{content:"";background:var(--accent);transform-origin:top;width:2px;transition:transform var(--t-med) var(--ease);position:absolute;top:20px;bottom:20px;left:-12px;transform:scaleY(0)}.pub:after{content:"";z-index:-1;background:linear-gradient(90deg, var(--accent-wash), transparent 70%);opacity:0;transition:opacity var(--t-med) var(--ease);pointer-events:none;position:absolute;inset:0 0 0 -12px}.pub.is-linked:before,.pub.is-pinned:before{transform:scaleY(1)}.pub.is-linked:after,.pub.is-pinned:after{opacity:1}.pub.is-linked .pub-year,.pub.is-pinned .pub-year{color:var(--ink-1)}@media (hover:hover) and (pointer:fine){.pub:hover:before,.pub:focus-within:before{transform:scaleY(1)}.pub:hover:after,.pub:focus-within:after{opacity:1}.pub:hover .pub-year,.pub:focus-within .pub-year{color:var(--ink-1)}}@media (max-width:599px){.pub{grid-template-columns:minmax(0,1fr)}.pub-year{display:none}.pub-year-inline{font:450 12px / 1.4 var(--font-mono);display:inline}}.pub-empty{padding:var(--s-6) 0;border-top:var(--hairline);color:var(--ink-2)}.pub-more{align-items:center;gap:var(--s-3) var(--s-6);margin-top:var(--s-6);font:450 14px / 1.4 var(--font-ui);flex-wrap:wrap;display:flex}.pub-more a{min-height:32px}.contact-grid{row-gap:var(--s-6)}.contact .scene-window{grid-area:1/7/auto/-1;justify-content:center;align-items:flex-end;min-height:280px;display:flex}.contact-text{grid-row:1;grid-column:1 / span var(--span-form)}.contact-text .section-head{margin-bottom:0}.response-line{margin-top:var(--s-4);font:400 14px / 1.45 var(--font-ui);color:var(--ink-2)}.channels{grid-area:2/8/auto/-1;align-self:end}.contact-main{grid-row:2;grid-column:1 / span var(--span-form);display:grid}@media (max-width:1199px){.contact .scene-window{grid-column:8/-1}.channels{grid-column:9/-1}}@media (min-width:900px){.contact-grid:has(.contact-form[hidden]):has(.contact-success[hidden]) .channels{grid-column:1 / span var(--span-form);align-self:start}.contact-grid:has(.contact-form[hidden]):has(.contact-success[hidden]) .contact-main{grid-row:3}}.convergence-caption{background:var(--bg-1);border:var(--hairline);border-radius:var(--radius-pill);font:450 var(--fs-mono) / 1.3 var(--font-mono);color:var(--ink-1);align-items:center;gap:1px;padding:6px 12px;display:inline-flex}.channel-list{margin-top:var(--s-4);display:grid}.channel{border-top:var(--hairline);gap:2px;padding:12px 0;display:grid}.channel:last-child{padding-bottom:0}.channel dt{font:450 13px / 1.4 var(--font-ui);color:var(--ink-2);align-items:center;gap:8px;display:inline-flex}.channel dt .icon{width:15px;height:15px}.channel dd{justify-content:space-between;align-items:center;gap:var(--s-2);min-height:32px;font:450 14px / 1.4 var(--font-ui);color:var(--ink-1);overflow-wrap:anywhere;display:flex}.email-text,.handle,.channel-email dd a{font:450 13.5px / 1.4 var(--font-mono)}.channel a{min-height:32px;text-decoration-color:#0000}@media (pointer:coarse){.channel a,.hero-links a,.footer-nav a,.footer-links a,.pub-more a{min-height:44px}}.channel a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.contact-form{gap:var(--s-5);display:grid}.field-pair{gap:var(--s-5) var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.privacy-note{font:400 13px / 1.5 var(--font-ui);color:var(--ink-2)}.privacy-note a{color:var(--ink-1)}.form-actions{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.contact-status:not(:empty){margin-top:var(--s-4);padding:var(--s-3) var(--s-4);border-left:2px solid var(--line-strong);border-radius:0 var(--radius) var(--radius) 0;background:var(--bg-1);color:var(--ink-1);font:400 14px / 1.5 var(--font-ui)}.contact-status.has-error{border-left-color:var(--danger);background:var(--danger-soft)}.contact-success{align-content:center;justify-items:start;gap:var(--s-3);display:grid}.success-icon{background:var(--success-soft);width:40px;height:40px;color:var(--success);border-radius:50%;place-items:center;display:grid}.success-icon .icon{width:22px;height:22px}.success-text{max-width:52ch;color:var(--ink-2)}.contact-success .btn{margin-top:var(--s-2)}@media (max-width:899px){.contact .scene-window{height:32svh;min-height:0;margin:0 calc(-1 * var(--pad-x));padding-bottom:var(--s-6);grid-column:1/-1}.contact-text{grid-area:2/1/auto/-1}.channels{grid-area:3/1/auto/-1}.contact-main{grid-area:4/1/auto/-1}.form-actions .btn-primary{width:100%}}@media (max-width:599px){.field-pair{grid-template-columns:minmax(0,1fr)}}@media (max-width:899px){.section-text{grid-column:1/-1;max-width:600px}.research,.contact{padding-top:var(--s-5)}.research .scene-window{height:40svh;margin:0 calc(-1 * var(--pad-x)) var(--s-6);grid-row:1;display:block}}.footer-grid{row-gap:var(--s-7);font:400 14px / 1.5 var(--font-ui);color:var(--ink-2)}.footer-brand{grid-column:1/span 4}.footer-role{margin-top:4px;padding-left:34px;font-size:13px}.footer-nav{grid-column:5/span 2}.footer-links{grid-column:7/span 3}.footer-nav ul,.footer-links{align-content:start;gap:2px;display:grid}.footer-nav a,.footer-links a{min-height:32px;color:var(--ink-2);align-items:center;text-decoration-color:#0000;display:inline-flex}.footer-nav a:hover,.footer-links a:hover{color:var(--ink-1);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.back-top{grid-column:10/-1;place-self:start end}.footer-bottom{grid-template-columns:subgrid;row-gap:var(--s-6);padding-top:var(--s-6);border-top:var(--hairline);display:grid}.privacy-long{grid-column:1/span 6}.privacy-long p{margin-top:var(--s-3);max-width:68ch;font-size:13px;line-height:1.6}.footer-heading{font:450 var(--fs-mono) / 1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-1)}.colophon{grid-column:8/-1;align-content:start;gap:6px;font-size:13px;line-height:1.55;display:grid}.colophon .sample-notice{color:var(--ink-1)}@media (max-width:899px){.footer-brand,.privacy-long,.colophon{grid-column:1/-1}.footer-nav{grid-column:1/span 3}.footer-links{grid-column:4/-1}.back-top{grid-column:1/-1;justify-self:start}}@media (max-width:599px){.footer-nav{grid-column:1/span 2}.footer-links{grid-column:3/-1}}.page-404{background:radial-gradient(ellipse 70% 55% at 50% 42%, #2a26228c, transparent 70%), var(--bg-0);place-items:center;min-height:100svh;display:grid}.nf{width:min(100% - 2 * var(--pad-x), 880px);padding-block:var(--s-8)}.nf-card{gap:var(--s-6);display:grid}.nf-mark .mark{width:88px;height:88px}.nf-langs{gap:var(--s-7) var(--s-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.nf-lang h1,.nf-lang h2{font-size:var(--fs-h2);letter-spacing:-.015em;font-weight:420;line-height:1.08}.nf-lang p{margin:var(--s-4) 0 var(--s-5);max-width:36ch;font:400 var(--fs-read) / 1.55 var(--font-display);color:var(--ink-2)}.nf-name{font:450 var(--fs-mono) / 1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}@media (max-width:699px){.nf-langs{grid-template-columns:minmax(0,1fr)}}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-opsz-normal-BpEBLj1O.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Fallback";src:local(Georgia);size-adjust:102%;ascent-override:101.6%;descent-override:32.8%;line-gap-override:0%}@font-face{font-family:Inter Fallback;src:local(Arial),local(Helvetica Neue),local(Helvetica);size-adjust:107.4%;ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%}
