@font-face{unicode-range:U+0,U+D,U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02;font-family:plexSans;src:url(../media/IBMPlexSansVar_Roman_Latin1-s.p.1iewwxpxy05ef.woff2)format("woff2");font-display:swap;font-weight:100 700;font-style:normal}@font-face{font-family:plexSans Fallback;src:local(Arial);ascent-override:101.35%;descent-override:27.19%;line-gap-override:0.0%;size-adjust:101.13%}.plexsans_a3a8c35d-module__WlCfNq__className{font-family:plexSans,plexSans Fallback;font-style:normal}.plexsans_a3a8c35d-module__WlCfNq__variable{--font-plex-sans:"plexSans", "plexSans Fallback"}
@font-face{unicode-range:U+0,U+D,U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02;font-family:plexSansItalic;src:url(../media/IBMPlexSansVar_Italic_Latin1.13gwvng4xgkl9.woff2)format("woff2");font-display:swap;font-weight:100 700;font-style:italic}.plexsansitalic_34b01dd2-module__hVN6Zq__className{font-family:plexSansItalic;font-style:italic}.plexsansitalic_34b01dd2-module__hVN6Zq__variable{--font-plex-sans-italic:"plexSansItalic"}
@font-face{unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02;font-family:plexMono;src:url(../media/IBMPlexMono_Regular_Latin1.0d0cwonyfc11n.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{unicode-range:U+20-7E,U+A0-FF,U+131,U+152-153,U+2C6,U+2DA,U+2DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02;font-family:plexMono;src:url(../media/IBMPlexMono_Medium_Latin1.0tkm_hxhwfqj_.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}.plexmono_41b20133-module__eyr9aa__className{font-family:plexMono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.plexmono_41b20133-module__eyr9aa__variable{--font-plex-mono:"plexMono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-plex-sans), ui-sans-serif, system-ui, sans-serif;--default-mono-font-family:var(--font-plex-mono);--container-page:72rem;--container-measure:40rem;--container-lead:34rem;--radius-control:.625rem;--radius-row:.75rem;--radius-image:.75rem;--radius-portrait:1rem;--radius-round:999px;--font-weight-medium:500;--text-display:clamp(2.75rem, 1.6rem + 5.2vw, 5.5rem);--text-display--line-height:1;--text-display--font-weight:600;--text-title-1:clamp(2.25rem, 1.7rem + 2.4vw, 3.25rem);--text-title-1--line-height:1.08;--text-title-1--font-weight:600;--text-title-2:clamp(1.625rem, 1.35rem + 1.2vw, 2.125rem);--text-title-2--line-height:1.15;--text-title-2--font-weight:600;--text-title-3:1.3125rem;--text-title-3--line-height:1.3;--text-title-3--font-weight:600;--text-lead:clamp(1.1875rem, 1.1rem + .35vw, 1.3125rem);--text-lead--line-height:1.5;--text-lead--font-weight:400;--text-body:1.0625rem;--text-body--line-height:1.6;--text-ui:.9375rem;--text-ui--line-height:1.35;--text-ui--font-weight:500;--text-footnote:.8125rem;--text-footnote--line-height:1.45;--text-footnote--font-weight:400;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-spring-snappy:linear(0, .053, .167, .301, .431, .547, .645, .726, .79, .841, .881, .911, .934, .951, .964, .973, .981, .986, .99, .992, 1);--ease-spring-smooth:linear(0, .051, .164, .295, .424, .539, .637, .719, .784, .835, .876, .907, .93, .948, .961, .972, .979, .985, .989, .992, 1);--color-canvas:var(--canvas);--color-text:var(--text);--color-accent:var(--accent);--font-mono:var(--font-plex-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:lang(en){--letter-spacing-display:-.035em;--letter-spacing-title-1:-.028em;--letter-spacing-title-2:-.02em;--letter-spacing-title-3:-.01em;--letter-spacing-lead:-.005em;--letter-spacing-footnote:.01em}:not(:lang(en)){--letter-spacing-display:0em;--letter-spacing-title-1:0em;--letter-spacing-title-2:0em;--letter-spacing-title-3:0em;--letter-spacing-lead:0em;--letter-spacing-footnote:0em;letter-spacing:normal}html{scroll-padding-block-start:var(--header-height)}body{background-color:var(--color-canvas);min-block-size:100dvh;color:var(--color-text);font-size:var(--text-body);line-height:var(--text-body--line-height);flex-direction:column;display:flex}main{flex:1}:where(em,i,cite,dfn,var,address){font-family:var(--font-plex-sans-italic), var(--font-plex-sans), ui-sans-serif, system-ui, sans-serif}h1,h2,h3{text-wrap:balance}p,li,dd,td,figcaption{text-wrap:pretty}code,kbd,samp,pre{font-size:.9em;line-height:1.55}a,button,input,select,textarea,summary,label{touch-action:manipulation}::selection{background-color:var(--selection)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (forced-colors:active){:focus-visible{outline-color:highlight}}}@layer components{.theme-toggle{border-radius:var(--radius-round);block-size:2.75rem;inline-size:2.75rem;color:var(--text);transition:scale var(--duration-spring-snappy) var(--ease-spring-snappy), background-color var(--duration-fast) var(--ease-standard);place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.theme-toggle:hover{background-color:var(--raised)}}.theme-toggle:active{transition-duration:var(--duration-instant);scale:.92}@media (prefers-reduced-motion:reduce){.theme-toggle{transition:opacity var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard)}.theme-toggle:active{opacity:.55;scale:none}}.button-plain{min-block-size:2.75rem;color:var(--text);text-underline-offset:.25em;transition:opacity var(--duration-spring-snappy) var(--ease-spring-snappy), text-decoration-color var(--duration-fast) var(--ease-standard);align-items:center;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:1px;display:inline-flex}@media (hover:hover) and (pointer:fine){.button-plain:hover{text-decoration-color:currentColor}}.button-plain:active{opacity:.55;transition-duration:var(--duration-instant)}.button-plain:disabled{opacity:.5}@media (prefers-reduced-motion:reduce){.button-plain{transition:opacity var(--duration-fast) var(--ease-standard), text-decoration-color var(--duration-fast) var(--ease-standard)}}.skip-link{z-index:var(--layer-skip-link);border-radius:var(--radius-control);background-color:var(--raised);color:var(--text);font-size:var(--text-ui);font-weight:500;line-height:var(--text-ui--line-height);padding-block:.75rem;padding-inline:1rem;position:absolute;inset-block-start:.75rem;inset-inline-start:.75rem}.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;padding:0;overflow:hidden}.header-sentinel{block-size:1px;inline-size:1px;position:absolute;inset-block-start:0}.site-header{z-index:var(--layer-header);block-size:var(--header-height);position:sticky;inset-block-start:0}.site-header:before,.site-header:after{content:"";pointer-events:none;opacity:0;transition:opacity var(--duration-base) var(--ease-standard);position:absolute;inset-inline:0}.site-header:before{z-index:-1;background-color:var(--material);-webkit-backdrop-filter:var(--material-filter);backdrop-filter:var(--material-filter);inset-block:0}.site-header:after{background-image:linear-gradient(to bottom, var(--material), transparent);block-size:.75rem;inset-block-start:100%}.site-header[data-scrolled]:before,.site-header[data-scrolled]:after{opacity:1}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.site-header:before{border-block-end:1px solid var(--hairline)}.site-header:after{display:none}}.brand{min-block-size:2.75rem;min-inline-size:2.75rem;color:var(--text);font-size:var(--text-ui);font-weight:600;line-height:var(--text-ui--line-height);transition:opacity var(--duration-fast) var(--ease-standard);align-items:center;display:inline-flex}.brand:active{opacity:.55;transition-duration:var(--duration-instant)}.brand-monogram{block-size:1.25rem;inline-size:auto}.nav-link{min-block-size:2.75rem;min-inline-size:2.75rem;color:var(--text-secondary);font-size:var(--text-ui);font-weight:500;line-height:var(--text-ui--line-height);text-underline-offset:.4em;transition:color var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;padding-inline:.25rem;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:2px;display:inline-flex}@media (min-width:40rem){.nav-link{padding-inline:.625rem}}@media (hover:hover) and (pointer:fine){.nav-link:hover{color:var(--text)}}.nav-link[aria-current=page]{color:var(--text);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.nav-link:active{opacity:.55;transition-duration:var(--duration-instant)}.site-footer{border-block-start:1px solid var(--hairline);padding-block:3rem}.site-footer-layout{flex-direction:column;gap:1.5rem;display:flex}@media (min-width:40rem){.site-footer-layout{flex-direction:row;justify-content:space-between;align-items:flex-start}}.profiles{flex-wrap:wrap;column-gap:1.5rem;display:flex}.profile-link{min-block-size:2.75rem;color:var(--text);font-size:var(--text-ui);font-weight:500;line-height:var(--text-ui--line-height);text-decoration-line:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.2em;transition:opacity var(--duration-spring-snappy) var(--ease-spring-snappy);align-items:center;gap:.5rem;text-decoration-thickness:.075em;display:inline-flex}@media (hover:hover) and (pointer:fine){.profile-link:hover{text-decoration-thickness:.14em}}.profile-link:active{opacity:.6;transition-duration:var(--duration-instant)}.text-link{color:var(--text);text-decoration-line:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.2em;transition:opacity var(--duration-spring-snappy) var(--ease-spring-snappy);text-decoration-thickness:.075em}@media (hover:hover) and (pointer:fine){.text-link:hover{text-decoration-thickness:.14em}}.text-link:active{opacity:.6;transition-duration:var(--duration-instant)}.button-primary{border-radius:var(--radius-control);background-color:var(--accent);min-block-size:2.75rem;color:var(--on-accent);font-size:var(--text-ui);font-weight:500;line-height:var(--text-ui--line-height);transition:background-color var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard), scale var(--duration-spring-snappy) var(--ease-spring-snappy);justify-content:center;align-items:center;padding-inline:1.25rem;display:inline-flex}@media (hover:hover) and (pointer:fine){.button-primary:hover{background-color:var(--accent-hover)}}.button-primary:active{background-color:var(--accent-pressed);transition-duration:var(--duration-instant);scale:.97}.button-primary:disabled,.button-primary[aria-disabled=true]{background-color:var(--accent);opacity:.5;scale:none}@media (prefers-reduced-motion:reduce){.button-primary:active{scale:none}}.message-page{padding-block:var(--section-space)}.message-page>*+*{margin-block-start:1rem}.message-links{flex-direction:column;align-items:flex-start;display:flex}.message-links a{align-items:center;min-block-size:2.75rem;display:inline-flex}.message-page>.message-links,.message-page>.message-action{margin-block-start:1.5rem}.standalone-link{align-items:center;min-block-size:2.75rem;inline-size:fit-content;display:flex}.hero{padding-block:clamp(3.5rem,2rem + 8vw,9rem) clamp(3rem,2rem + 5vw,6rem)}.hero>*+*{margin-block-start:1rem}.hero>.hero-actions{margin-block-start:2rem}@media (min-width:64rem){.hero-name{max-inline-size:calc(83.3333% - .25rem)}}.hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;display:flex}.page-header{padding-block:clamp(3rem,2rem + 5vw,6rem) 3rem}.page-header>*+*{margin-block-start:1rem}.project-filter{flex-wrap:wrap;gap:.25rem .5rem;margin-inline:-.25rem;display:flex}.filter-toggle{min-block-size:2.75rem;color:var(--text-secondary);font-size:var(--text-ui);font-weight:500;line-height:var(--text-ui--line-height);text-underline-offset:.4em;transition:color var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard);align-items:center;padding-inline:.25rem;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:2px;display:inline-flex;position:relative}.filter-toggle:before{content:"";z-index:1;position:absolute;inset-block:0;inset-inline:calc(50% - 1.375rem)}@media (hover:hover) and (pointer:fine){.filter-toggle:hover{color:var(--text)}}.filter-toggle[aria-pressed=true]{color:var(--text);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.filter-toggle:active{opacity:.55;transition-duration:var(--duration-instant)}@media (forced-colors:active){.filter-toggle:not([aria-pressed=true]){text-decoration-line:none}}.project-index{padding-block-end:var(--section-space)}.project-index>.project-filter~.project-list,.project-index>.project-filter-status:not(:empty){margin-block-start:2rem}.project-index>.project-filter-status+.button-plain{margin-block-start:.5rem}.page-sections{padding-block-end:var(--section-space)}.page-sections>*+*{margin-block-start:var(--section-space)}.project-list{flex-direction:column;gap:.5rem;display:flex}.project-row{border-radius:var(--radius-row);transition:background-color var(--duration-fast) var(--ease-standard), scale var(--duration-spring-snappy) var(--ease-spring-snappy);gap:.75rem;margin-inline:-1rem;padding-block:1.5rem;padding-inline:1rem;display:grid;position:relative}@media (hover:hover) and (pointer:fine){.project-row:hover{background-color:var(--raised)}}.project-row:active{background-color:var(--raised);transition-duration:var(--duration-instant);scale:.99}@media (prefers-reduced-motion:reduce){.project-row:active{scale:none}}@media (min-width:64rem){.project-row{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:1.5rem}}.project-row-main{flex-direction:column;gap:.5rem;display:flex}@media (min-width:64rem){.project-row-main{grid-column:1/span 8}}.project-row-meta{font-size:var(--text-footnote);line-height:var(--tw-leading,var(--text-footnote--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-footnote));font-weight:var(--tw-font-weight,var(--text-footnote--font-weight));color:var(--text-secondary);flex-direction:column;gap:.25rem;display:flex}@media (min-width:64rem){.project-row-meta{grid-column:9/span 4}}.project-row-link{color:var(--text)}.project-row-link:after{content:"";border-radius:var(--radius-row);position:absolute;inset:0}.project-row-link:focus-visible{outline:none}.project-row-link:focus-visible:after{outline:2px solid var(--accent);outline-offset:2px}@media (forced-colors:active){.project-row-link:focus-visible:after{outline-color:highlight}}.portrait{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-portrait);outline:1px solid var(--hairline);block-size:auto;inline-size:100%}@supports (color:color-mix(in lab, red, red)){.portrait{outline:1px solid color-mix(in oklch, var(--hairline) 60%, transparent)}}.portrait{outline-offset:-1px}.about-layout{gap:2rem;display:grid}@media (min-width:64rem){.about-layout{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;column-gap:1.5rem}}.about-portrait{max-inline-size:20rem}@media (min-width:64rem){.about-portrait{grid-area:1/9/auto/span 4;max-inline-size:none}.about-text{grid-area:1/1/auto/span 7}}.about-page{padding-block-end:var(--section-space)}.about-page .about-text>*+*{margin-block-start:2rem}.about-page .about-text>section{margin-block-start:4rem}.about-page section>h2+*{margin-block-start:1.5rem}.breadcrumb{font-size:var(--text-ui);line-height:var(--tw-leading,var(--text-ui--line-height));letter-spacing:var(--tw-tracking,0em);font-weight:var(--tw-font-weight,var(--text-ui--font-weight))}.breadcrumb ol{flex-wrap:wrap;align-items:center;column-gap:1rem;display:flex}.breadcrumb a{align-items:center;min-block-size:2.75rem;display:inline-flex}.breadcrumb [aria-current=page]{color:var(--text-secondary)}.case-study{gap:3rem;padding-block-end:var(--section-space);display:grid}@media (min-width:64rem){.case-study{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;column-gap:1.5rem}.case-study-facts{grid-area:1/9/auto/span 4}}.case-study-main{min-inline-size:0}.case-study-main>*+*{margin-block-start:3rem}@media (min-width:64rem){.case-study-main{grid-area:1/1/auto/span 8}}.facts{flex-direction:column;gap:1rem;display:flex}.facts dt{font-size:var(--text-footnote);line-height:var(--tw-leading,var(--text-footnote--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-footnote));font-weight:var(--tw-font-weight,var(--text-footnote--font-weight));color:var(--text-secondary);font-weight:500}.cover{aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-image);block-size:auto;inline-size:100%}.gallery{flex-direction:column;gap:2rem;margin-block-start:2rem;display:flex}.gallery figcaption{font-size:var(--text-footnote);line-height:var(--tw-leading,var(--text-footnote--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-footnote));font-weight:var(--tw-font-weight,var(--text-footnote--font-weight));color:var(--text-secondary);margin-block-start:.75rem}.gallery-open{border-radius:var(--radius-image);background-color:var(--raised);inline-size:100%;transition:scale var(--duration-spring-snappy) var(--ease-spring-snappy), opacity var(--duration-fast) var(--ease-standard);display:block;overflow:hidden}.gallery-open:active{transition-duration:var(--duration-instant);scale:.99}@media (prefers-reduced-motion:reduce){.gallery-open:active{opacity:.8;scale:none}}.gallery-image{border-radius:var(--radius-image);block-size:auto;inline-size:100%;display:block}.viewer{block-size:100%;max-block-size:none;inline-size:100%;max-inline-size:none;color:var(--text);transform-origin:var(--viewer-origin,50% 50%);transition:opacity var(--duration-spring-smooth) var(--ease-spring-smooth), scale var(--duration-spring-smooth) var(--ease-spring-smooth);background-color:#0000;border:0;margin:0;padding:1rem;position:fixed;inset:0;overflow:hidden}.viewer[open]{grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:.75rem;display:grid}.viewer[data-state=closed]{opacity:0;scale:.96}.viewer::backdrop{background-color:var(--backdrop);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);transition:opacity var(--duration-spring-smooth) var(--ease-spring-smooth)}.viewer[data-state=closed]::backdrop{opacity:0}@media (prefers-reduced-motion:reduce){.viewer{transition:opacity var(--duration-fast) var(--ease-standard)}.viewer[data-state=closed]{scale:none}.viewer::backdrop{transition:opacity var(--duration-fast) var(--ease-standard)}}.viewer-stage{pointer-events:none;place-items:center;min-block-size:0;inline-size:100%;display:grid;container-type:size}.viewer-image{pointer-events:auto;border-radius:var(--radius-image);background-color:var(--raised);block-size:auto;box-shadow:var(--floating-shadow)}.viewer-caption{font-size:var(--text-footnote);line-height:var(--tw-leading,var(--text-footnote--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-footnote));font-weight:var(--tw-font-weight,var(--text-footnote--font-weight));border-radius:var(--radius-control);background-color:var(--raised);max-inline-size:40rem;color:var(--text-secondary);padding-block:.5rem;padding-inline:.875rem}.viewer-close{border-radius:var(--radius-round);background-color:var(--raised);block-size:2.75rem;inline-size:2.75rem;color:var(--text);transition:scale var(--duration-spring-snappy) var(--ease-spring-snappy);place-items:center;display:grid;position:absolute;inset-block-start:1rem;inset-inline-end:1rem}.viewer-close:active{transition-duration:var(--duration-instant);scale:.92}@media (prefers-reduced-motion:reduce){.viewer-close{transition:opacity var(--duration-fast) var(--ease-standard)}.viewer-close:active{opacity:.55;scale:none}}:root:has(.viewer[open]){scrollbar-gutter:stable;overflow:hidden}::view-transition{pointer-events:none}::view-transition-group(gallery-image){animation-duration:var(--duration-spring-smooth);animation-timing-function:var(--ease-spring-smooth)}.pager{padding-block-end:var(--section-space)}.pager-next{transition:opacity var(--duration-spring-snappy) var(--ease-spring-snappy);flex-direction:column;gap:.25rem;display:inline-flex}.pager-next:active{opacity:.6;transition-duration:var(--duration-instant)}.pager-label{font-size:var(--text-footnote);line-height:var(--tw-leading,var(--text-footnote--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-footnote));font-weight:var(--tw-font-weight,var(--text-footnote--font-weight));color:var(--text-secondary);font-weight:500}.pager-title{font-size:var(--text-title-3);line-height:var(--tw-leading,var(--text-title-3--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-title-3));font-weight:var(--tw-font-weight,var(--text-title-3--font-weight));color:var(--text);text-decoration-line:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:.075em}@media (hover:hover) and (pointer:fine){.pager-next:hover .pager-title{text-decoration-thickness:.14em}}.contact-page{padding-block-end:var(--section-space)}.contact-layout>*+*{margin-block-start:2rem}.contact-form{max-inline-size:var(--container-measure);transition:block-size var(--duration-spring-smooth) var(--ease-spring-smooth)}.contact-form+.profiles{margin-block-start:3rem}.contact-form[data-glide]{overflow-y:clip}.contact-form[data-glide=close]{flex-direction:column;justify-content:flex-end;display:flex}.contact-fields{flex-direction:column;display:flex}.contact-fields>*+*{margin-block-start:1.5rem}.contact-fields>.form-alert:empty{margin-block-start:0}.contact-fields>.button-primary{align-self:flex-start}.field{flex-direction:column;display:flex}.field-label{font-size:var(--text-ui);line-height:var(--tw-leading,var(--text-ui--line-height));letter-spacing:var(--tw-tracking,0em);font-weight:var(--tw-font-weight,var(--text-ui--font-weight))}.field-optional{color:var(--text-secondary)}.field-hint{font-size:var(--text-footnote);line-height:var(--tw-leading,var(--text-footnote--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-footnote));font-weight:var(--tw-font-weight,var(--text-footnote--font-weight));color:var(--text-secondary);margin-block-start:.25rem}.field-control{border:1px solid var(--control-border);border-radius:var(--radius-control);background-color:var(--field);block-size:3rem;inline-size:100%;color:var(--text);font-size:var(--text-body);line-height:var(--text-body--line-height);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);margin-block-start:.5rem;padding-inline:.875rem}@media (hover:hover) and (pointer:fine){.field-control:hover{border-color:var(--text-secondary)}}.field-control:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-glow);outline-color:#0000}.field-control[aria-invalid=true]{border-color:var(--danger)}.field-control:autofill{box-shadow:inset 0 0 0 100vmax var(--field);-webkit-text-fill-color:var(--text)}.field-control:autofill:focus-visible{box-shadow:inset 0 0 0 100vmax var(--field), 0 0 0 3px var(--focus-glow)}textarea.field-control{field-sizing:content;resize:vertical;block-size:auto;min-block-size:10rem;max-block-size:24rem;padding-block:.75rem}.field-error:not(:empty){font-size:var(--text-footnote);line-height:var(--tw-leading,var(--text-footnote--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-footnote));font-weight:var(--tw-font-weight,var(--text-footnote--font-weight));color:var(--danger);gap:.375rem;margin-block-start:.5rem;display:flex}.field-error-icon{flex:none;block-size:1rem;inline-size:1rem;margin-block-start:calc(.5lh - .5rem)}.form-alert:not(:empty){color:var(--danger);gap:.5rem;display:flex}.form-alert-icon{flex:none;margin-block-start:calc(.5lh - .625rem)}.submit-labels{display:grid}.submit-labels>*{grid-area:1/1}.contact-sent,.contact-fields[data-returning]{transition:opacity var(--duration-base) var(--ease-standard), translate var(--duration-spring-smooth) var(--ease-spring-smooth)}@starting-style{.contact-sent,.contact-fields[data-returning]{opacity:0;translate:0 .5rem}}@media (prefers-reduced-motion:reduce){.contact-sent,.contact-fields[data-returning]{transition:opacity var(--duration-fast) var(--ease-standard)}}.contact-sent{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.contact-sent-title{align-items:center;gap:.5rem;display:flex}.markdown-article{max-inline-size:var(--container-measure);overflow-wrap:break-word}.markdown-article>*+*{margin-block-start:1em}.markdown-article>h2{font-size:var(--text-title-2);line-height:var(--tw-leading,var(--text-title-2--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-title-2));font-weight:var(--tw-font-weight,var(--text-title-2--font-weight))}.markdown-article>h3{font-size:var(--text-title-3);line-height:var(--tw-leading,var(--text-title-3--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-title-3));font-weight:var(--tw-font-weight,var(--text-title-3--font-weight))}.markdown-article>*+h2{margin-block-start:3rem}.markdown-article>*+h3{margin-block-start:2rem}.markdown-article>:is(h2,h3)+*{margin-block-start:.75rem}.markdown-article strong{font-weight:600}.markdown-article code{font-family:var(--font-mono)}.markdown-article :is(ul,ol){padding-inline-start:1.5rem}.markdown-article ul{list-style-type:disc}.markdown-article ol{list-style-type:decimal}.markdown-article li+li{margin-block-start:.25rem}.markdown-article blockquote{color:var(--text-secondary);padding-inline-start:1.5rem}.markdown-article pre{border-radius:var(--radius-control);background-color:var(--raised);padding:1rem;overflow-x:auto}.markdown-article pre>code{font-size:1em}.markdown-article .table-scroll{overflow-x:auto}.markdown-article table{border-collapse:collapse;font-variant-numeric:tabular-nums;inline-size:100%}.markdown-article :is(th,td){text-align:start;vertical-align:top;padding-block:.5rem;padding-inline-end:1.5rem}.markdown-article th{font-size:var(--text-footnote);line-height:var(--tw-leading,var(--text-footnote--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-footnote));font-weight:var(--tw-font-weight,var(--text-footnote--font-weight));color:var(--text-secondary);vertical-align:bottom;font-weight:500}.markdown-article>hr{border:0;margin-block:3rem}}@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.static{position:static}.container{width:100%}@media (min-width:30rem){.container{max-width:30rem}}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:64rem){.container{max-width:64rem}}.container-page{inline-size:100%;max-inline-size:var(--container-page);padding-inline:var(--page-gutter);margin-inline:auto}.ms-auto{margin-inline-start:auto}.mbs-4{margin-block-start:calc(var(--spacing) * 4)}.mbs-6{margin-block-start:calc(var(--spacing) * 6)}.mbs-8{margin-block-start:calc(var(--spacing) * 8)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.size-4\.5{width:calc(var(--spacing) * 4.5);height:calc(var(--spacing) * 4.5)}.h-full{height:100%}.min-h-11{min-height:calc(var(--spacing) * 11)}.max-w-lead{max-width:var(--container-lead)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.gap-2{gap:calc(var(--spacing) * 2)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.text-display{font-size:var(--text-display);line-height:var(--tw-leading,var(--text-display--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-display));font-weight:var(--tw-font-weight,var(--text-display--font-weight))}.text-footnote{font-size:var(--text-footnote);line-height:var(--tw-leading,var(--text-footnote--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-footnote));font-weight:var(--tw-font-weight,var(--text-footnote--font-weight))}.text-lead{font-size:var(--text-lead);line-height:var(--tw-leading,var(--text-lead--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-lead));font-weight:var(--tw-font-weight,var(--text-lead--font-weight))}.text-title-1{font-size:var(--text-title-1);line-height:var(--tw-leading,var(--text-title-1--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-title-1));font-weight:var(--tw-font-weight,var(--text-title-1--font-weight))}.text-title-2{font-size:var(--text-title-2);line-height:var(--tw-leading,var(--text-title-2--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-title-2));font-weight:var(--tw-font-weight,var(--text-title-2--font-weight))}.text-title-3{font-size:var(--text-title-3);line-height:var(--tw-leading,var(--text-title-3--line-height));letter-spacing:var(--tw-tracking,var(--letter-spacing-title-3));font-weight:var(--tw-font-weight,var(--text-title-3--font-weight))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-success{color:var(--success)}.text-text-secondary{color:var(--text-secondary)}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.max-inline-lead{max-inline-size:var(--container-lead)}@media not all and (min-width:30rem){.max-xs\:hidden{display:none}}@media (min-width:30rem){.xs\:hidden{display:none}}.dark\:block:where(.dark,.dark *){display:block}.dark\:hidden:where(.dark,.dark *){display:none}.dark\:inline:where(.dark,.dark *){display:inline}.theme-override\:inline-flex:where([data-theme-override],[data-theme-override] *){display:inline-flex}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#ece9e5;--raised:#f7f5f2;--field:#f7f5f2;--text:#221d18;--text-secondary:#5b5349;--hairline:#d5cec4;--control-border:#857a6b;--accent:#76572f;--accent-hover:#654a27;--accent-pressed:#563f21;--on-accent:#f7f5f2;--danger:#a3321f;--success:#2d6636;--backdrop:#221d1852;--floating-shadow:0 24px 64px -20px #221d1840;--material:var(--canvas)}@supports (color:lab(0% 0 0)){:root{--canvas:lab(92.4711% .500768 2.22151);--raised:lab(96.6488% .331908 1.87126);--field:lab(96.6488% .331908 1.87126);--text:lab(11.2515% 1.69429 4.34388);--text-secondary:lab(35.8679% 1.99506 7.10873);--hairline:lab(83.0969% 1.23632 6.00369);--control-border:lab(51.8947% 2.40636 9.84572);--accent:lab(39.6156% 9.58009 28.0003);--accent-hover:lab(33.8231% 8.5814 25.1893);--accent-pressed:lab(28.7304% 7.50268 22.3376);--on-accent:lab(96.6488% .331908 1.87126);--danger:lab(38.742% 46.4629 38.551);--success:lab(38.4459% -28.0878 21.0805);--backdrop:lab(11.2515% 1.69429 4.34388/.32);--floating-shadow:0 24px 64px -20px lab(11.2515% 1.69429 4.34388/.25)}}@supports (color:color-mix(in lab, red, red)){:root{--material:color-mix(in oklch, var(--canvas) 80%, transparent)}}:root{--material-filter:blur(20px) saturate(140%);--backdrop-filter:blur(6px);--focus-glow:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--focus-glow:color-mix(in oklch, var(--accent) 35%, transparent)}}:root{--selection:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--selection:color-mix(in oklch, var(--accent) 28%, transparent)}}:root{--page-gutter:clamp(1.25rem, 5vw, 3rem);--section-space:clamp(4rem, 3rem + 5vw, 7.5rem);--header-height:3.5rem;--layer-base:0;--layer-header:20;--layer-skip-link:50;--duration-instant:0s;--duration-fast:.16s;--duration-base:.24s;--duration-spring-snappy:.35s;--duration-spring-smooth:.46s}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#1a1612;--raised:#231e18;--field:#201b16;--text:#ede4d6;--text-secondary:#a89b87;--hairline:#3a332a;--control-border:#7d705e;--accent:#c9a77c;--accent-hover:#d6b78f;--accent-pressed:#b9976c;--on-accent:#1a1612;--danger:#ee9b86;--success:#a3c79c;--backdrop:#0805039e;--floating-shadow:0 24px 64px -16px #0000008c}@supports (color:lab(0% 0 0)){.dark{--canvas:lab(7.54992% 1.37287 3.17818);--raised:lab(11.729% 1.49381 4.86958);--field:lab(10.2069% 1.7069 4.33924);--text:lab(91.0036% 1.40437 7.95314);--text-secondary:lab(64.6838% 2.42564 12.2708);--hairline:lab(21.8301% 1.89179 6.81);--control-border:lab(48.07% 2.91613 11.844);--accent:lab(70.768% 8.44926 27.1239);--accent-hover:lab(76.4757% 7.22379 24.6324);--accent-pressed:lab(64.8406% 8.79583 27.6837);--on-accent:lab(7.54992% 1.37287 3.17818);--danger:lab(72.2482% 30.2723 24.6205);--success:lab(76.7554% -18.5645 17.4725);--backdrop:lab(1.55691% .517458 1.0599/.62);--floating-shadow:0 24px 64px -16px lab(0% 0 0/.55)}}@media (prefers-contrast:more){:root{--text-secondary:var(--text);--control-border:var(--text);--material:var(--canvas);--material-filter:none}}@media (prefers-reduced-transparency:reduce){:root{--material:var(--canvas);--material-filter:none;--backdrop-filter:none}}@media (min-width:40rem){:root{--header-height:4rem}}:root[data-theme-changing] *,:root[data-theme-changing] :before,:root[data-theme-changing] :after{transition:none!important}::view-transition-group(root){animation-duration:var(--duration-base);animation-timing-function:var(--ease-standard)}::view-transition-old(root){animation-duration:var(--duration-base);animation-timing-function:var(--ease-standard)}::view-transition-new(root){animation-duration:var(--duration-base);animation-timing-function:var(--ease-standard)}@media (prefers-reduced-motion:reduce){::view-transition-group(root){animation-duration:var(--duration-fast)}::view-transition-old(root){animation-duration:var(--duration-fast)}::view-transition-new(root){animation-duration:var(--duration-fast)}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
