@font-face{font-family:dmSans;src:url(../media/dm_sans_latin_400_normal-s.p.3iz0zvsdyk3vx.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:dmSans;src:url(../media/dm_sans_latin_500_normal-s.p.37iq0067qv6hz.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:dmSans;src:url(../media/dm_sans_latin_600_normal-s.p.3-tojx6ngucpa.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:dmSans;src:url(../media/dm_sans_latin_700_normal-s.p.40tkx8ph_w76m.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:dmSans Fallback;src:local(Arial);ascent-override:94.36%;descent-override:29.49%;line-gap-override:0.0%;size-adjust:105.13%}.dmsans_cb28408b-module__HULVxW__className{font-family:dmSans,dmSans Fallback,system-ui,sans-serif}.dmsans_cb28408b-module__HULVxW__variable{--font-dm-sans:"dmSans", "dmSans Fallback", system-ui, sans-serif}
@font-face{font-family:lora;src:url(../media/lora_latin_400_normal-s.p.0_b815o9yf0z8.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:lora;src:url(../media/lora_latin_600_normal-s.p.0xslby1lsuqsm.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:lora Fallback;src:local(Times New Roman);ascent-override:87.53%;descent-override:23.84%;line-gap-override:0.0%;size-adjust:114.93%}.lora_93ef5f58-module__Kh-wxW__className{font-family:lora,lora Fallback,Georgia,serif}.lora_93ef5f58-module__Kh-wxW__variable{--font-lora:"lora", "lora Fallback", Georgia, serif}
:root{--root-font-size:100%;--font-family-body:var(--font-dm-sans);--font-family-heading:var(--font-lora);--font-size-xxxx-small:.625rem;--font-size-xxx-small:.6875rem;--font-size-xx-small:.8rem;--font-size-x-small:.8125rem;--font-size-small:.875rem;--font-size-medium:.9375rem;--font-size-large:1rem;--font-size-x-large:1.3rem;--font-size-xx-large:2.25rem;--font-size-xxx-large:3.2rem;--font-size-page-title:var(--font-size-xxx-large);--font-size-page-title-narrow:var(--font-size-xx-large);--font-size-section-title:var(--font-size-large);--font-size-item-title:var(--font-size-medium);--font-size-project-title:2.6rem;--font-size-project-title-narrow:var(--font-size-x-large);--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-body:1.5;--line-height-prose:1.72;--line-height-prose-small:1.65;--line-height-heading:1.2;--letter-spacing-tight:-.025em;--letter-spacing-loose:.025em;--letter-spacing-x-loose:.1em;--measure:65ch;--measure-summary:42.5rem;--color-surface:#f8f7f4;--color-surface-card:#fff;--color-surface-timeline-card-start:#eef2ff;--color-surface-timeline-card-middle:#f5f3ff;--color-surface-timeline-card-end:#fdf4ff;--color-surface-case-label:#dee1fc;--color-surface-band:#fcfbf9;--color-surface-bar:#f8f7f4f5;--color-text-heading:#0f172a;--color-text:#334155;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-text-faint:#94a3b8;--color-accent:#4f46e5;--color-on-accent:#fff;--color-surface-tag:#eef2ff;--color-text-tag:#4338ca;--color-surface-level-advanced:#ecfdf5;--color-text-level-advanced:#065f46;--color-surface-level-proficient:#eef2ff;--color-text-level-proficient:#3730a3;--color-surface-level-basic:#f1f5f9;--color-text-level-basic:var(--color-text-secondary);--color-rule:#cbd5e1;--color-border:#e2e8f0;--color-border-accent:#c7d2fe;--color-rule-accent-end:#ddd6fe;--color-border-timeline-card:#dcd4fe;--color-marker:#a5b4fc;--color-surface-hover:#eef2ff;--color-accent-hover:#4338ca;--color-border-accent-hover:#a5b4fc;--color-accent-deep:#3730a3;--color-underline:#a5b4fc;--color-underline-hover:#6366f1;--color-linkedin:#0a66c2;--color-github:#101411;--color-surface-linkedin:var(--color-linkedin);--color-surface-linkedin-hover:#004182;--color-surface-github:var(--color-github);--color-surface-github-hover:#3d423f;--color-on-brand:#fff;--color-google-ink:#1f1f1f;--color-google-border:#747775;--color-surface-google-hover:#eee;--hover-transition:.15s;--underline-offset:2px;--color-focus:var(--color-accent);--focus-outline-width:2px;--focus-outline-offset:2px;--color-surface-enlarged:#0f172a99;--color-on-enlarged:var(--color-surface-card);--space-x-small:.25rem;--space-small:.5rem;--space-medium:1rem;--space-large:2rem;--space-x-large:4rem;--rhythm-scale:.75;--space-flow:var(--space-medium);--space-heading:calc(2.5rem * var(--rhythm-scale));--space-item:calc(2.5rem * var(--rhythm-scale));--space-role:calc(2.75rem * var(--rhythm-scale));--space-credential:calc(2.25rem * var(--rhythm-scale));--space-boundary:calc(3.5rem * var(--rhythm-scale));--space-summary:calc(2rem * var(--rhythm-scale));--space-controls:calc(2.25rem * var(--rhythm-scale));--space-view-top:calc(3rem * var(--rhythm-scale));--space-section:calc(2 * var(--space-boundary));--content-width:68.75rem;--page-gutter:var(--space-small);--page-inset:max(var(--page-gutter), calc((100% - var(--content-width)) / 2));--page-padding-block:var(--space-boundary);--page-padding-block-end:calc(var(--space-boundary) + var(--space-medium));--radius-small:.25rem;--radius-large:.75rem;--radius-pill:9999px;--shadow-raised:0 1px 1.5px #0000001a, 0 1px 1px #0000001a;--shadow-photo-glow:0 8px 40px #4f46e52e;--shadow-photo-inner:inset 0 4px 4px #00000040;--shadow-bar:0 2px 16px #1a1a2e1a;--shadow-card-hover:0 4px 12px #1a1a2e2e;--shadow-card-highlight:inset 0 1px 0 #ffffffbf;--shadow-dates-hover:0 4px 6px #1a1a2e80;--shadow-thumbnail:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--surface-timeline-card:url(../media/grain.336-dmhhnvvx4.webp), linear-gradient(143deg, var(--color-surface-timeline-card-start) 0%, var(--color-surface-timeline-card-middle) 50%, var(--color-surface-timeline-card-end) 100%);--photo-width:7.5rem;--photo-width-wide:clamp(11.25rem, 22vw, 18.75rem);--photo-ratio:3 / 4;--contact-mark-size:calc(var(--font-size-x-small) * var(--line-height-body));--contact-mark-pill-width:calc(var(--font-size-x-small) * (1 + 3.333) + var(--space-small));--timeline-date-width:10rem;--timeline-spine-width:1.75rem;--timeline-dot-size:1rem;--timeline-dot-core:.625rem;--timeline-dot-ring:3px;--timeline-dot-offset:max(0px, calc((var(--font-size-item-title) * var(--line-height-heading) - var(--timeline-dot-size)) / 2 - var(--timeline-dot-ring)));--timeline-dot-span:calc(var(--timeline-dot-size) + 2 * var(--timeline-dot-ring));--timeline-line-width:2px;--timeline-entry-width:12rem;--timeline-entry-inset:.75rem;--timeline-date-height:calc(var(--font-size-xxxx-small) * var(--line-height-body));--timeline-card-space:1.25rem;--timeline-logo-height:1.125rem;--timeline-logo-height-tall:1.75rem;--timeline-logo-rise:calc(var(--timeline-logo-height) - var(--timeline-logo-height-tall));--timeline-shadow-room:16px;--timeline-shadow-room-back:calc(-1 * var(--timeline-shadow-room));--project-card-media-ratio:16 / 9;--project-card-space:1.25rem;--card-lift:.25rem;--card-lift-back:calc(-1 * var(--card-lift));--project-view-rule-width:2.5rem;--project-view-rule-height:.375rem;--project-view-rule-gap:1.5rem;--project-view-label-gap:.75rem;--project-view-thumbnail-width:6rem;--project-view-thumbnail-height:4rem;--project-view-thumbnail-overlap:2.25rem;--project-view-thumbnail-edge:.1rem;--project-view-thumbnail-radius:.5rem;--project-view-thumbnail-overlap-back:calc(-1 * var(--project-view-thumbnail-overlap));--project-view-thumbnail-lift:.5rem;--project-view-thumbnail-lift-back:calc(-1 * var(--project-view-thumbnail-lift));--project-view-enlarge-size:var(--space-large);--project-view-enlarged-blur:16px;--project-view-enlarge-duration:.3s;--project-neighbour-gap:1.5rem;--project-neighbour-mark-gap:.75rem;--business-case-padding:1.5rem;--business-case-gap:.75rem;--business-case-label-block:.125rem;--business-case-label-inline:.625rem;--business-case-icon-size:1.5rem;--business-case-figure-size:1.5rem;--business-case-dot-size:.375rem;--business-case-dot-current:1.25rem;--role-view-panel-padding:3rem;--role-view-pill-inline:.75rem;--role-view-number-size:1.5rem;--role-view-point-gap:1.25rem;--role-view-label-gap:1.5rem;--role-view-measure:50rem;--language-columns:1;--contents-bar-height:3rem;--contents-bar-blur:12px;--contents-bar-title-row:0rem;--contents-menu-icon-size:1.5rem;--contents-menu-max-size:calc(100dvh - var(--contents-bar-clearance));--contents-bar-clearance:calc(var(--contents-bar-height) + var(--contents-bar-title-row) + var(--space-flow))}@media (min-width:20em){:root{--font-size-section-title:var(--font-size-x-large);--font-size-project-title-narrow:var(--font-size-xx-large);--page-gutter:var(--space-medium);--language-columns:2}}@media (scripting:none){:root{--contents-bar-title-row:calc(var(--font-size-x-large) * var(--line-height-body) + var(--space-small))}}@media (min-width:48em){:root{--rhythm-scale:1;--contents-bar-title-row:0rem}}@media print{:root{--root-font-size:12pt;--line-height-prose:var(--line-height-body);--line-height-prose-small:var(--line-height-body);--space-heading:var(--space-flow);--space-item:var(--space-large);--space-role:var(--space-large);--space-credential:var(--space-large);--space-boundary:var(--space-large);--space-summary:var(--space-flow);--space-controls:var(--space-flow);--timeline-dot-size:.75rem;--timeline-dot-core:.375rem;--color-surface:transparent;--color-surface-band:transparent;--color-surface-card:transparent;--color-surface-timeline-card-start:transparent;--color-surface-timeline-card-middle:transparent;--color-surface-timeline-card-end:transparent;--color-surface-case-label:transparent;--surface-timeline-card:none;--color-surface-bar:transparent;--color-surface-tag:transparent;--color-surface-level-advanced:transparent;--color-surface-level-proficient:transparent;--color-surface-level-basic:transparent;--color-surface-hover:transparent;--color-surface-linkedin:transparent;--color-surface-linkedin-hover:transparent;--color-surface-github:transparent;--color-surface-github-hover:transparent;--color-surface-google-hover:transparent;--color-surface-enlarged:transparent;--color-rule:transparent;--color-border:transparent;--color-border-accent:transparent;--color-border-accent-hover:transparent;--color-border-timeline-card:transparent;--shadow-raised:none;--shadow-photo-glow:none;--shadow-photo-inner:none;--shadow-bar:none;--shadow-card-hover:none;--shadow-card-highlight:none;--shadow-dates-hover:none;--shadow-thumbnail:none;--content-width:none;--page-gutter:0;--page-inset:0;--page-padding-block:0;--photo-width:28mm}}@page{margin:2cm}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:var(--root-font-size);scroll-padding-block-start:var(--contents-bar-clearance)}@media (prefers-reduced-motion:no-preference){:root[data-gliding]{scroll-behavior:smooth}}::view-transition-group(root){animation-duration:var(--project-view-enlarge-duration)}::view-transition-group(larger-picture){animation-duration:var(--project-view-enlarge-duration)}::view-transition-group(larger-picture){border-radius:var(--radius-large);overflow:clip}::view-transition-old(larger-picture){object-fit:cover;mix-blend-mode:normal;block-size:100%;animation:none}::view-transition-new(larger-picture){object-fit:cover;mix-blend-mode:normal;block-size:100%;animation:none}:root[data-moving=opening]::view-transition-old(larger-picture){opacity:0}:root[data-moving=closing]::view-transition-new(larger-picture){opacity:0}body{color:var(--color-text);background-color:var(--color-surface);font-family:var(--font-family-body);font-size:var(--font-size-medium);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);font-variant-ligatures:none;font-feature-settings:"calt" 0;overflow-wrap:break-word;margin:0}h1,h2,h3,h4,h5,h6{color:var(--color-text-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading);text-wrap:balance}h1{font-family:var(--font-family-heading);font-size:var(--font-size-page-title);letter-spacing:var(--letter-spacing-tight)}h2{font-family:var(--font-family-heading);font-size:var(--font-size-section-title);letter-spacing:var(--letter-spacing-tight)}h3{font-size:var(--font-size-item-title)}h4,h5,h6{font-size:var(--font-size-medium)}p,li{max-inline-size:var(--measure);text-wrap:pretty}b,strong{font-weight:var(--font-weight-semibold)}small{color:var(--color-text-secondary);font-size:var(--font-size-small)}a{color:var(--color-accent);text-decoration-line:underline}@media (prefers-reduced-motion:no-preference){a{transition-property:color,background-color,border-color,text-decoration-color;transition-duration:var(--hover-transition)}}:focus-visible{outline:var(--focus-outline-width) solid var(--color-focus);outline-offset:var(--focus-outline-offset)}main>*{padding-inline:var(--page-inset)}:where(h1,h2,h3,h4,h5,h6,p,ul,ol,dl){margin-block:0}:where(main,header,section,article,li)>*+*{margin-block-start:var(--space-flow)}:where(main>*+section){margin-block-start:var(--space-section)}:where(ul,ol){padding-inline-start:var(--space-large)}@media print{:where(nav){display:none}:where(a[href]:not([href^=\#])):after{content:" (" attr(href) ")";overflow-wrap:anywhere}:where(h1,h2,h3,h4,h5,h6){break-after:avoid;break-inside:avoid}:where(article,li){break-inside:avoid}}
