/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
@layer normalize{html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{margin:.67em 0;font-size:2em}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:#0000}abbr[title]{border-bottom:none;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template,[hidden]{display:none}}@layer tokens{:root{--content-max:1000px;--measure:41.875rem;--gutter:1.25rem;--section-gap:2.5rem;--color-accent:#0540f2;--color-accent-strong:#0439dc;--color-accent-bright:#2f63ff;--color-text:#1f2937;--color-text-body:#374151;--color-text-soft:#4a4a4a;--color-text-muted:#64748b;--color-surface:#fff;--color-surface-tint:#fbfbfc;--color-surface-media:#f3f4f6;--color-border:#d4d6da;--color-border-strong:#c9ccd1;--color-border-button:#d0d4dc;--color-border-soft:#e5e7eb;--color-border-faint:#f1f1f1;--color-ink-shadow:15 23 42;--color-indicator:var(--color-accent);--header-bg:#fafafa;--header-texture:repeating-linear-gradient(to bottom, #fafafa 0, #fafafa 1px, #e9e9e9 1px, #e9e9e9 2px, #fdfdfd 2px, #fdfdfd 3px, #fff 3px, #fff 4px);--header-border:#b4b4b4;--tab-bg:linear-gradient(#fdfdfd, #efefef 45%, #e3e3e3 68%, #f4f4f4);--tab-border:#c4c4c4;--tab-active-bg:linear-gradient(#fff, #fcfcfc 70%, #fff);--tab-active-border:#9f9f9f;--tab-active-merge:#fff;--subnav-bg:linear-gradient(#fcfcfc, #f1f1f1 50%, #e2e2e2 64%, #fdfdfd 92%);--subnav-border:#c7c7c7;--switch-bg:linear-gradient(#cfcfcf, #dcdcdc);--switch-active-bg:linear-gradient(#fdfdfd, #ededed 50%, #e2e2e2 51%, #f2f2f2);--switch-border:#a9a9a9;--footer-bg:var(--header-bg);--subnav-link:color-mix(in srgb, var(--color-text-muted), var(--color-text-soft));--panel-border:var(--color-border);--bar-bg:linear-gradient(#fcfcfd, #f1f2f4);--bar-label-bg:linear-gradient(#f0f1f4, #e4e6ea);--grad-button:linear-gradient(var(--color-accent-bright), var(--color-accent));--grad-button-secondary:linear-gradient(#fff, #f3f4f7);--hover-tint:color-mix(in srgb, var(--color-text) 6%, transparent);--button-primary-bg-hover:linear-gradient(color-mix(in srgb, var(--color-accent-bright) 88%, #000), color-mix(in srgb, var(--color-accent) 85%, #000));--button-secondary-bg-hover:linear-gradient(#f8f9fb, #dfe2e8);--button-secondary-border-hover:#b9bfca;--button-ghost-padding:var(--space-md);--button-ghost-bg-hover:var(--hover-tint);--button-ghost-decoration-hover:none;--grad-placeholder:linear-gradient(135deg, #e3f1ff, #c3dcff);--grad-placeholder-alt:linear-gradient(135deg, #f8faff, #e3f1ff);--font-sans:"Rubik", system-ui, sans-serif;--font-serif:"Lora", Georgia, serif;--weight-regular:400;--weight-medium:500;--text-2xs:.65625rem;--text-xs:.78125rem;--text-sm:.875rem;--text-md:1rem;--text-lg:.9375rem;--text-xl:1rem;--text-2xl:1.0625rem;--text-3xl:1.375rem;--text-4xl:1.25rem;--text-display:2rem;--leading-tight:1.1;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-.02em;--tracking-caps:.09em;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.625rem;--space-sm:1rem;--space-md:1.25rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.25rem;--space-3xl:3rem;--radius-sm:.5rem;--radius-md:.625rem;--radius-lg:.75rem;--radius-xl:1.25rem;--radius-pill:999px;--border:1px solid var(--color-border);--border-panel:1px solid var(--panel-border);--border-soft:1px solid var(--color-border-soft);--tap-target:2.75rem;--shadow-sm:0 1px 2px #0000000a;--shadow-inset-highlight:inset 0 1px 0 #fff}}@layer base{*,:before,:after{box-sizing:border-box}body{min-height:100dvh;font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--color-text-body);background:var(--color-surface);flex-direction:column;margin:0;display:flex}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:var(--weight-medium);color:var(--color-text);text-wrap:pretty}p{text-wrap:pretty}img{max-width:100%;height:auto;display:block}picture{display:contents}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.container{width:100%;max-width:var(--content-max);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.eyebrow{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-accent)}.meta{font-size:var(--text-xs);color:var(--color-text-muted)}.button{min-height:var(--tap-target);padding-inline:var(--space-md);border-radius:var(--radius-xl);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-accent);border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.button:hover{text-decoration:none}.button--primary{color:var(--color-surface);background:var(--grad-button);border-color:var(--color-accent-strong);box-shadow:inset 0 1px 0 #ffffff38, 0 1px 2px color-mix(in srgb, var(--color-accent) 25%, transparent)}.button--primary:hover{background:var(--button-primary-bg-hover)}.button--secondary{background:var(--grad-button-secondary);border-color:var(--color-border-button);box-shadow:var(--shadow-inset-highlight)}.button--secondary:hover{background:var(--button-secondary-bg-hover);border-color:var(--button-secondary-border-hover)}.button--text{padding-inline:var(--button-ghost-padding)}.button--text:hover{background:var(--button-ghost-bg-hover);text-decoration:var(--button-ghost-decoration-hover)}.button--link{padding-inline:var(--space-3xs)}.button--link:hover{text-decoration:underline}.button-group{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}@container (width<32.5rem){.button-group{flex-direction:column;align-items:stretch}}}@layer components{site-header{display:block;container-type:inline-size}.site-header{background:var(--header-bg);border-bottom:1px solid var(--header-border);position:relative}.site-header:before{content:"";background-image:var(--header-texture);position:absolute;inset:0}.site-header__inner{align-items:flex-end;column-gap:var(--space-2xs);flex-wrap:wrap;display:flex;position:relative}.site-header__brand{padding-block:var(--space-sm);font-size:var(--text-2xl);font-weight:var(--weight-medium);color:var(--color-text)}.site-header__brand:hover{text-decoration:none}.site-header__nav{flex-wrap:wrap;align-items:flex-end;gap:2px;margin-left:auto;display:flex}.site-header__nav a{font-size:var(--text-sm);color:var(--color-text-body);background:var(--tab-bg);border:1px solid var(--tab-border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom:none;padding:.7em 1.33em .8em}.site-header__nav a:hover{color:var(--color-accent);text-decoration:none}.site-header__nav a[aria-current=page]{font-weight:var(--weight-medium);color:var(--color-accent);background:var(--tab-active-bg);border-color:var(--tab-active-border);box-shadow:0 1px 0 var(--tab-active-merge)}.lang-switch{--switch-tracking:.05em;--switch-radius:6px;--switch-inset:1px;top:50%;right:calc(var(--space-sm) - (100cqw - var(--content-max)) / 2);padding:var(--switch-inset);font-size:.6875rem;font-weight:var(--weight-medium);letter-spacing:var(--switch-tracking);text-align:center;background:var(--switch-bg);border:1px solid var(--switch-border);border-radius:var(--switch-radius);box-shadow:var(--shadow-inset-highlight), 0 1px 0 #ffffffe6;grid-auto-columns:1fr;grid-auto-flow:column;line-height:1;display:grid;position:absolute;transform:translateY(-50%)}.lang-switch a{padding:4px calc(9px - var(--switch-tracking)) 4px 9px;color:var(--color-text-body)}.lang-switch a:hover{color:var(--color-accent);text-decoration:none}.lang-switch a[aria-current]{color:var(--color-accent);background:var(--switch-active-bg);border-radius:calc(var(--switch-radius) - 1px - var(--switch-inset));box-shadow:0 0 0 .5px #0000001f,0 1px 1px #0000001a}@container (width<70rem){.lang-switch{margin-left:var(--space-xs);align-self:center;position:static;transform:none}}.site-header__menu-button{aspect-ratio:1;background:var(--tab-bg);border:1px solid var(--tab-border);border-radius:var(--radius-sm);width:2.25rem;box-shadow:var(--shadow-inset-highlight);cursor:pointer;justify-content:center;align-self:center;align-items:center;display:none}.site-header__toggle:focus-visible+.site-header__menu-button{outline:2px solid var(--color-accent);outline-offset:2px}.site-header__burger,.site-header__burger:before,.site-header__burger:after{background:var(--color-text);border-radius:1px;width:1.125rem;height:2px;transition:transform .2s,background-color .2s;display:block}.site-header__burger{position:relative}.site-header__burger:before,.site-header__burger:after{content:"";position:absolute}.site-header__burger:before{transform:translateY(-6px)}.site-header__burger:after{transform:translateY(6px)}site-header:has(.site-header__toggle:checked) .site-header__burger{background:0 0}site-header:has(.site-header__toggle:checked) .site-header__burger:before{transform:rotate(45deg)}site-header:has(.site-header__toggle:checked) .site-header__burger:after{transform:rotate(-45deg)}site-header[data-compact] .site-header__menu-button{margin-left:calc(var(--gutter) - var(--space-2xs));order:1;display:flex}site-header[data-compact] .lang-switch{align-self:center;margin-left:auto;position:static;transform:none}site-header[data-compact] .site-header__nav{order:2;flex-basis:calc(100% + 2 * var(--gutter));margin-inline:calc(-1 * var(--gutter));padding:var(--space-3xs) var(--gutter) var(--space-xs);background:var(--color-surface);border-top:1px solid var(--header-border);flex-direction:column;align-items:stretch;gap:0;display:none}site-header[data-compact]:has(.site-header__toggle:checked) .site-header__nav{display:flex}site-header[data-compact] .site-header__nav a{min-height:2.9em;font-size:var(--text-lg);color:var(--color-text);border:none;border-bottom:1px solid var(--color-border-faint);box-shadow:none;background:0 0;border-radius:0;align-items:center;padding:0;display:flex}site-header[data-compact] .site-header__nav a[aria-current=page]{color:var(--color-accent);box-shadow:none;background:0 0}site-header[data-compact] .site-header__nav a:last-child{border-bottom:none}sub-nav{background:var(--subnav-bg);border-bottom:1px solid var(--subnav-border);display:block}.sub-nav__inner{font-size:var(--text-xs);flex-wrap:wrap;gap:1.75em;padding-block:.8em;display:flex}.sub-nav__inner a{color:var(--subnav-link)}.sub-nav__inner a:hover{color:var(--color-accent)}.sub-nav__label,.sub-nav__inner [aria-current=page]{font-weight:var(--weight-medium);color:var(--color-accent)}@media (width<36rem){.sub-nav__inner{white-space:nowrap;flex-wrap:nowrap;overflow-x:auto}}split-hero{--split-hero-gap:var(--space-3xl);--split-hero-media-stacked:28rem;--portrait-padding:.4375rem;--portrait-bg:linear-gradient(#fff, #f1f1f1);--portrait-border:1px solid #d5d5d5;--portrait-radius:1rem;--portrait-shadow:0 1px 2px #0000000f;--portrait-reflection-gap:.2rem;--portrait-reflection-ratio:7;--portrait-reflection-fade:linear-gradient(#0006, transparent);display:block;container-type:inline-size}.split-hero__layout{align-items:center;gap:var(--split-hero-gap);display:flex}.split-hero__content,.split-hero__media{flex:1 1 0;min-width:0}.split-hero__content{margin-bottom:calc(var(--portrait-reflection-gap) + (100cqw - var(--split-hero-gap)) / 2 / var(--portrait-reflection-ratio))}.split-hero__title{font-family:var(--font-serif);font-size:var(--text-display);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.split-hero__lead{margin-top:var(--space-sm);font-size:var(--text-xl);line-height:var(--leading-relaxed)}.split-hero__lead+.split-hero__lead{margin-top:var(--space-2xs)}.split-hero__media img{width:100%;padding:var(--portrait-padding);background:var(--portrait-bg);border:var(--portrait-border);border-radius:var(--portrait-radius);box-shadow:var(--portrait-shadow)}.split-hero__reflection{aspect-ratio:var(--portrait-reflection-ratio);margin-top:var(--portrait-reflection-gap);mask-image:var(--portrait-reflection-fade);overflow:hidden}.split-hero__reflection img{transform:scaleY(-1)}@container (width<53.75rem){.split-hero__layout{align-items:flex-start;gap:var(--space-lg);flex-direction:column}.split-hero__content{margin-bottom:0}.split-hero__media{width:min(100%, var(--split-hero-media-stacked));flex-basis:auto}}info-bar{background:var(--bar-bg);border:var(--border-panel);border-radius:var(--radius-sm);display:block;overflow:hidden;container-type:inline-size}.info-bar__row{align-items:stretch;display:flex}.info-bar__row>*{align-items:center;gap:var(--space-2xs);font-size:var(--text-xs);color:var(--color-text-soft);padding:.75em 1.2em;display:flex}.info-bar__label{font-weight:var(--weight-medium);color:var(--color-text);background:var(--bar-label-bg);border-right:var(--border-panel);flex-shrink:0}.info-bar__label--indicator:before{content:"";aspect-ratio:1;background:var(--color-indicator);border-radius:50%;width:.375rem}.info-bar__row>a{font-size:var(--text-sm);color:var(--color-text)}.info-bar__row>a:after{content:"›";color:var(--color-accent)}.info-bar__row>.info-bar__end{color:var(--color-text-muted);flex-shrink:0;margin-left:auto}@container (width<32.5rem){.info-bar__row{flex-wrap:wrap}.info-bar__row>*{border-right:none;border-bottom:var(--border-panel);flex:100%}.info-bar__row>.info-bar__end{margin-left:0}.info-bar__row>:last-child{border-bottom:none}}feature-card{background:var(--color-surface);border:var(--border-panel);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:block;overflow:hidden;container-type:inline-size}feature-card>info-bar{border:none;border-bottom:var(--border-panel);border-radius:0}.feature-card__body{padding:var(--space-lg) var(--space-md) var(--space-lg)}.feature-card__title{font-family:var(--font-serif);font-size:var(--text-3xl);line-height:1.3}.feature-card__byline{margin-top:var(--space-xs);font-size:var(--text-sm)}.feature-card__text{margin-top:var(--space-sm);line-height:var(--leading-relaxed)}.feature-card__footer{padding:1.125rem var(--space-md) var(--space-md);border-top:var(--border-soft);background:linear-gradient(#fcfcfd,#f4f5f7)}.feature-card__body>.button-group{margin-top:var(--space-lg)}page-section{display:block;container-type:inline-size}.page-section__header{justify-content:space-between;align-items:baseline;gap:var(--space-2xs) var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.page-section__title{font-size:var(--text-4xl)}.page-section__header a{font-size:var(--text-sm);font-weight:var(--weight-medium)}card-grid{--grid-max-columns:4;--grid-min:11.875rem;--grid-gap:var(--space-sm);--grid-track:minmax(min(100%, max(var(--grid-min), (100% - (var(--grid-max-columns) - 1) * var(--grid-gap)) / var(--grid-max-columns))), 1fr);gap:var(--grid-gap);grid-template-columns:repeat(auto-fit, var(--grid-track));display:grid}.card-grid--fixed{grid-template-columns:repeat(auto-fill, var(--grid-track))}.card-grid--cols-1{--grid-max-columns:1}.card-grid--cols-2{--grid-max-columns:2}.card-grid--cols-3{--grid-max-columns:3}.card-grid--cols-4{--grid-max-columns:4}.card-grid--wide{--grid-min:16.25rem}tile-card{--tile-banner-ratio:20 / 7;--tile-banner-max:16rem;background:var(--color-surface);border:var(--border-soft);border-radius:var(--radius-md);flex-direction:column;display:flex;position:relative;overflow:hidden}.tile-card__media:not(img){aspect-ratio:var(--tile-banner-ratio);max-height:var(--tile-banner-max);background:var(--grad-placeholder)}tile-card:nth-child(2n) .tile-card__media:not(img){background:var(--grad-placeholder-alt)}img.tile-card__media{aspect-ratio:1.2;object-fit:contain;width:100%;height:auto;padding:var(--space-lg);background:var(--tile-media-bg,var(--color-surface-media))}img.tile-card__media--cover{aspect-ratio:var(--tile-banner-ratio);max-height:var(--tile-banner-max);object-fit:cover;object-position:right center;padding:0}.tile-card__body{padding:var(--space-sm) var(--space-sm) var(--space-md);flex:1}img.tile-card__media+.tile-card__body{border-top:1px solid var(--color-border-faint)}.tile-card__title{margin-top:var(--space-2xs);font-size:var(--text-lg);line-height:var(--leading-snug)}.tile-card__title a{color:var(--color-text);text-decoration:none}.tile-card__title a:after{content:"";position:absolute;inset:0}tile-card:hover .tile-card__body{background:var(--hover-tint)}tile-card:has(.tile-card__title a:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.tile-card__title a:focus-visible{outline:none}.tile-card__text{margin-top:var(--space-3xs);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted)}.tile-card__body>.meta{margin-top:var(--space-2xs);display:block}cell-grid{background:var(--color-border-soft);border:var(--border-soft);border-radius:var(--radius-md);flex-wrap:wrap;gap:1px;display:flex;overflow:hidden}cell-grid>*{padding:var(--space-sm) 1.125rem;background:var(--color-surface);flex:12.5rem}.cell-grid__title{margin-top:var(--space-3xs);font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--color-text)}.cell-grid__subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:2px}cv-page{--cv-rail-width:15.625rem;--cv-rail-bg:linear-gradient(#fcfcfd, #eceef1);--cv-rail-border:#c9ccd2;--cv-rail-divider:1px solid color-mix(in srgb, var(--color-text) 12%, transparent);--cv-photo-size:8.25rem;--cv-dot-size:.8125rem;--cv-timeline-indent:1.875rem;--cv-timeline-line:.25rem;display:block;container-type:inline-size}.cv-page__layout{grid-template-columns:var(--cv-rail-width) minmax(0, 1fr);align-items:start;gap:var(--space-3xl);display:grid}.cv-rail{background:var(--cv-rail-bg);border:1px solid var(--cv-rail-border);border-radius:var(--radius-md);box-shadow:var(--shadow-inset-highlight), 0 1px 2px #0000000d;overflow:hidden}.cv-rail__intro{padding:1.375rem var(--space-md) var(--space-md)}.cv-rail__photo{width:100%;max-width:var(--cv-photo-size);aspect-ratio:1;object-fit:cover;background:linear-gradient(#fff,#ececec);border:1px solid #cfcfcf;border-radius:50%;padding:.3125rem;box-shadow:0 1px 2px #00000014,0 10px 20px -12px #00000059}.cv-rail__name{font-family:var(--font-serif);font-size:1.5rem;font-weight:var(--weight-medium);letter-spacing:-.01em;color:var(--color-text);margin-top:.875rem;line-height:1.15}.cv-rail__role{margin-top:var(--space-3xs);font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-text-soft);font-style:italic}.cv-rail__section{margin-inline:var(--space-md);padding-block:var(--space-sm) var(--space-md);border-top:var(--cv-rail-divider)}.cv-rail__label{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text)}.cv-rail__list,.cv-rail__chips{margin:var(--space-xs) 0 0;padding:0;list-style:none}.cv-rail__list{gap:var(--space-xs);color:var(--color-text-soft);flex-direction:column;font-size:.8125rem;line-height:1.45;display:flex}.cv-rail__list b{font-weight:var(--weight-medium);color:var(--color-text);display:block}.cv-rail__list a{font-size:var(--text-sm)}.cv-rail__chips{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.cv-rail__chips li{background:var(--tab-bg);border:1px solid var(--tab-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-inset-highlight), 0 1px 1px #0000000a;padding:.3125rem .6875rem;font-size:.8125rem}@media (height>=70rem){.cv-rail{top:var(--space-lg);position:sticky}}.cv-page__main{gap:var(--section-gap);flex-direction:column;display:flex}.cv-page__heading{padding-bottom:var(--space-xs);font-size:var(--text-4xl);font-weight:var(--weight-medium);color:var(--color-text);border-bottom:var(--border-soft);margin-bottom:1.125rem}.cv-page__profile{line-height:var(--leading-relaxed)}cv-timeline{gap:var(--space-lg);padding-left:var(--cv-timeline-indent);flex-direction:column;display:flex;position:relative}cv-timeline:before{content:"";inset-block:var(--space-2xs);left:var(--cv-timeline-line);background:var(--color-border);width:1px;position:absolute}cv-entry{display:block;position:relative}cv-entry:before{content:"";top:var(--space-2xs);left:calc(var(--cv-timeline-line) + .5px - var(--cv-timeline-indent) - var(--cv-dot-size) / 2);width:var(--cv-dot-size);aspect-ratio:1;background:var(--tab-bg);border:1px solid var(--tab-active-border);box-shadow:var(--shadow-inset-highlight), 0 1px 1px #00000014;border-radius:50%;position:absolute}.cv-entry__header{justify-content:space-between;align-items:baseline;gap:2px var(--space-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.cv-entry__title{min-width:0;font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--color-text);flex:1 1 0;line-height:1.75}.cv-entry__title a{color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:14px;margin:-3px -10px;padding:3px 10px;transition:background .15s}.cv-entry__title a:hover{background:var(--hover-tint);text-decoration:none}.cv-entry__title span{color:var(--color-text-muted)}.cv-entry__title a:hover span{color:var(--color-text)}cv-role{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-text-soft);margin-top:2px;font-style:italic;display:block}cv-entry>p{margin-top:var(--space-2xs);font-size:.90625rem;line-height:1.6}@container (width<51.25rem){.cv-page__layout{gap:var(--space-xl);grid-template-columns:minmax(0,1fr)}.cv-rail{position:static}}contact-page{width:min(var(--measure), 100%);padding-block:var(--space-sm) var(--space-lg);flex-direction:column;gap:1.75rem;margin-inline:auto;display:flex}contact-row{display:block}contact-row+contact-row{border-top:1px solid var(--color-border-faint)}contact-row>*{align-items:center;gap:var(--space-3xs) var(--space-sm);min-height:3.25rem;padding:var(--space-xs) var(--space-md);grid-template-columns:8.125rem minmax(0,1fr) auto;display:grid}contact-row a{color:inherit;transition:background .15s}contact-row a:hover{background:var(--hover-tint);text-decoration:none}.contact-row__label{font-size:var(--text-xs);color:var(--color-text-muted)}.contact-row__value{font-size:var(--text-lg);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;color:var(--color-text);overflow-wrap:anywhere}.contact-row__arrow{font-size:var(--text-xs);color:var(--color-text-muted)}contact-row a:hover .contact-row__arrow{color:var(--color-text)}@container (width<37.5rem){contact-row>*{padding-inline:var(--space-sm);grid-template-columns:minmax(0,1fr) auto}.contact-row__label,.contact-row__value{grid-column:1}.contact-row__arrow{grid-area:1/2/span 2}}not-found{align-items:center;gap:var(--space-xl) var(--space-3xl);flex-wrap:wrap;display:flex}not-found>*{flex:20rem;min-width:0}not-found .page-title{margin-top:var(--space-2xs)}.not-found__text{margin-top:var(--space-sm);font-size:var(--text-xl);line-height:var(--leading-relaxed)}not-found iframe{aspect-ratio:480/271;border:0}site-footer{background:var(--footer-bg);border-top:var(--border-soft);display:block;container-type:inline-size}.site-footer__inner{align-items:baseline;gap:var(--space-xs) var(--space-lg);padding-block:var(--space-md);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.site-footer__name{color:var(--color-text-muted)}.site-footer__links{gap:var(--space-xs) var(--space-lg);flex-wrap:wrap;margin-left:auto;display:flex}@container (width<40rem){.site-footer__links{margin-left:0}}article-page{grid-template-columns:minmax(0, 1fr) min(var(--measure), 100%) minmax(0, 1fr);min-width:0;display:grid}article-page>*,.prose>*{grid-column:2}.article-page__image,.prose>.figure-row{grid-column:1/-1}.article-page__image{width:100%;height:auto;margin-bottom:var(--space-xl);border-radius:var(--radius-md)}.article-page__header{padding-bottom:var(--space-lg);margin-bottom:var(--space-xl);border-bottom:var(--border-soft)}.article-page__title{margin-top:var(--space-2xs);font-family:var(--font-serif);font-size:var(--text-display);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.article-page__subtitle{margin-top:var(--space-sm);font-size:var(--text-xl);line-height:var(--leading-snug);color:var(--color-text-soft)}.article-page__header>.meta{margin-top:var(--space-sm);display:block}.prose{grid-column:1/-1;grid-template-columns:subgrid;font-size:var(--text-md);line-height:var(--leading-relaxed);align-content:start;display:grid}.prose>*+*{margin-top:var(--space-sm)}.prose h2{margin-top:var(--space-2xl);font-family:var(--font-serif);font-size:var(--text-3xl);line-height:1.3}.prose h3{margin-top:var(--space-xl);font-size:var(--text-2xl)}.prose :is(ul,ol){padding-left:var(--space-lg)}.prose a{text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--color-accent) 35%, transparent);text-underline-offset:.15em}.prose .figure{align-items:center;gap:var(--space-2xs);margin-block:var(--space-sm);flex-direction:column;display:flex}.prose figcaption{text-align:center;font-size:var(--text-sm);color:var(--color-text-muted);align-self:stretch;font-style:italic}.prose>.figure img{width:100%}.prose .figure-row{gap:var(--space-lg) var(--space-2xl);margin-block:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));display:grid}.figure-row .figure{margin-block:0}.prose .figure-row>figcaption{grid-column:1/-1}.prose .figure-row .figure figcaption{font-style:normal;font-weight:var(--weight-medium);text-align:center;color:var(--color-text)}.prose p:has(>img:only-child){margin-top:var(--space-xl)}.prose p:has(>img:only-child)+p:has(>em:only-child){margin-top:var(--space-2xs);font-size:var(--text-sm);color:var(--color-text-muted)}.prose img{margin-inline:auto}.prose table,.prose table+*,.prose table+p:has(>em:only-child)+*{margin-top:var(--space-xl)}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.prose :is(th,td){padding:var(--space-2xs) var(--space-xs);border-bottom:var(--border-soft)}.prose th{text-align:left;font-weight:var(--weight-medium);color:var(--color-text);border-bottom-color:var(--color-border)}.prose table+p:has(>em:only-child){margin-top:var(--space-sm);text-align:center;font-size:var(--text-sm);color:var(--color-text-muted)}.prose a:has(>.citation){color:inherit;text-decoration:none}.prose a:has(>.citation):hover{color:var(--color-accent)}.prose .bibliography{margin-top:var(--space-2xl)}.prose .bibliography-contents{margin-top:var(--space-sm);font-size:var(--text-sm);line-height:var(--leading-normal)}.prose .csl-entry{padding-left:var(--space-xl);text-indent:calc(-1 * var(--space-xl));overflow-wrap:anywhere}.prose .csl-entry+.csl-entry{margin-top:var(--space-2xs)}.prose .csl-entry:target{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}@layer page{@view-transition{navigation:auto}.page-main{gap:var(--section-gap);padding-block:var(--space-2xl);flex-direction:column;flex-grow:1;display:flex}.page-title{font-family:var(--font-serif);font-size:var(--text-display);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/rubik.woff2)format("woff2")}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/lora.woff2)format("woff2")}@font-face{font-family:Lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/lora-italic.woff2)format("woff2")}