@charset "UTF-8";:root{--color-default:#191c29;--color-fg:#191c29;--color-bg:#ffffff;--color-accent:#f73c2f;--color-interactive:#1437dd;--color-highlight:#FFEE00;--color-border:#DCDCDC;--color-mute:#767676;--color-outline:#EEEFF0;--margin:max(calc(1.5vw + 1vmin), 2px);--base:calc(1.5vw);--color-border-primary:var(--color-fg);--color-border-secondary:var(--color-fg);--transition:0.3s}.theme-dark{--color-fg:#ffffff;--color-bg:#191c29;--color-accent:#f73c2f;--color-interactive:#c8b6ff;--color-highlight:#985277;--color-border:#363636;--color-outline:#222}@media(-ms-high-contrast:active){:root{--color-default:#000;--color-fg:#000;--color-bg:#fff;--color-accent:#ff0000;--color-interactive:#0000ff;--color-highlight:#ffff00;--color-border:#000;--color-mute:#000;--color-outline:#000}}@media(prefers-reduced-motion:reduce){:root{--transition:0s}}@keyframes fade-target{0%{background-color:var(--color-highlight)}50%{background-color:var(--color-highlight)}100%{background-color:transparent}}@font-face{font-family:untitled sans;font-style:normal;font-weight:500;src:local(""),url(../fonts/untitled-sans-web-regular-subset.woff2)format("woff2"),url(../fonts/untitled-sans-web-regular-subset.woff)format("woff")}@font-face{font-family:untitled sans;font-style:normal;font-weight:600;src:local(""),url(../fonts/untitled-sans-web-medium-subset.woff2)format("woff2"),url(../fonts/untitled-sans-web-medium-subset.woff)format("woff")}@font-face{font-family:untitled sans;font-style:normal;font-weight:700;src:local(""),url(../fonts/untitled-sans-web-bold-subset.woff2)format("woff2"),url(../fonts/untitled-sans-web-bold-subset.woff)format("woff")}html{font-size:var(--base);line-height:1.7;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-weight:500;font-kerning:normal;font-variant-ligatures:contextual common-ligatures;font-feature-settings:'kern' 1,'liga' 1,'calt' 1;overscroll-behavior-y:none}body{background-color:var(--color-bg);color:var(--color-fg);transition:background-color 0s,color 0s}@media print{body{background-color:#fff;color:#000}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}ul{list-style:none;padding:0;margin:0}:root{--color-default:#191c29;--color-fg:#191c29;--color-bg:#ffffff;--color-accent:#f73c2f;--color-interactive:#1437dd;--color-highlight:#FFEE00;--color-border:#DCDCDC;--color-mute:#767676;--color-outline:#EEEFF0;--margin:max(calc(1.5vw + 1vmin), 2px);--base:calc(1.5vw);--color-border-primary:var(--color-fg);--color-border-secondary:var(--color-fg);--transition:0.3s}.theme-dark{--color-fg:#ffffff;--color-bg:#191c29;--color-accent:#f73c2f;--color-interactive:#c8b6ff;--color-highlight:#985277;--color-border:#363636;--color-outline:#222}@media(-ms-high-contrast:active){:root{--color-default:#000;--color-fg:#000;--color-bg:#fff;--color-accent:#ff0000;--color-interactive:#0000ff;--color-highlight:#ffff00;--color-border:#000;--color-mute:#000;--color-outline:#000}}@media(prefers-reduced-motion:reduce){:root{--transition:0s}}@keyframes fade-target{0%{background-color:var(--color-highlight)}50%{background-color:var(--color-highlight)}100%{background-color:transparent}}:root{--spacing-0125:calc(var(--margin) * 0.125);--spacing-025:calc(var(--margin) * 0.25);--spacing-05:calc(var(--margin) * 0.5);--spacing-1:calc(var(--margin) * 1);--spacing-15:calc(var(--margin) * 1.5);--spacing-2:calc(var(--margin) * 2);--spacing-3:calc(var(--margin) * 3);--spacing-4:calc(var(--margin) * 4);--spacing-5:calc(var(--margin) * 5);--spacing-6:calc(var(--margin) * 6);--spacing-8:calc(var(--margin) * 8);--border-area:1px solid var(--color-fg);--border-area--side:10px solid var(--color-fg);--border-area--top:5px solid var(--color-fg);--border-link:1px solid var(--color-fg)}.wrapper{margin-left:auto;margin-right:auto;padding-left:var(--spacing-1);padding-right:var(--spacing-1);max-width:1600px}@media screen and (min-width:600px){.wrapper{padding-left:var(--spacing-15);padding-right:var(--spacing-15)}}@media screen and (min-width:900px){.wrapper{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}}.grid{display:grid;grid-template-columns:repeat(1,1fr);grid-row-gap:var(--spacing-6);grid-column-gap:var(--spacing-1)}.grid.dense{grid-row-gap:var(--spacing-2)}.grid .half,.grid .third,.grid .full,.grid .quarter,.grid .two-third,.grid .three-fourth,.grid .center{grid-column:1/span 1}.grid .intro{grid-row:2}@media screen and (min-width:600px){.grid{grid-template-columns:repeat(12,1fr)}.grid .full{grid-column:span 12}.grid .half{grid-column:span 12}.grid .two-third{grid-column:span 12}.grid .three-fourth{grid-column:span 12}.grid .third{grid-column:span 12}.grid .center{grid-column:2/span 10}.grid .center-medium{grid-column:3/span 8}}@media screen and (min-width:900px){.grid{grid-template-columns:repeat(12,1fr);grid-column-gap:var(--spacing-2);grid-row-gap:var(--spacing-15)}.grid .full{grid-column:span 12}.grid .three-fourth{grid-column:span 10}.grid .half{grid-column:span 6}.grid .two-third{grid-column:span 8}.grid .third{grid-column:span 4}.grid .quarter{grid-column:span 3}.grid .intro{grid-row:2;grid-column:1/span 7}.grid .text-about{grid-column:3/span 8}.grid .text-error{grid-column:1/span 12}.grid .photo-about{grid-row:1;grid-column:1/span 2;position:absolute;width:100%;right:0}.grid .center-medium{grid-column:3/span 8}}.homepage-switch-trigger{position:fixed;left:0;top:0;z-index:8;color:var(--color-fg);width:var(--size-1);height:var(--size-1);cursor:pointer;transition:transform var(--transition)ease;transform-origin:top left}@media print{.homepage-switch-trigger{display:none}}.homepage-switch-trigger path{color:var(--color-fg);transition:color var(--transition)ease;transform-origin:top right}.homepage-switch-trigger:hover,.homepage-switch-trigger:active{transform:scale(1.2)}.homepage-sidebar{position:fixed;top:0;bottom:0;right:0;z-index:9}@media print{.homepage-sidebar{display:none}}.homepage-sidebar .homepage-sidebar-trigger{--trigger-size:60px;position:absolute;right:var(--spacing-2);bottom:var(--spacing-2);z-index:10;color:var(--color-interactive);width:var(--trigger-size);height:var(--trigger-size);cursor:pointer;transition:transform var(--transition)ease,opacity var(--transition)ease;pointer-events:all;opacity:1}.homepage-sidebar .homepage-sidebar-trigger[aria-disabled]{pointer-events:none;opacity:0;visibility:hidden;display:none}@media screen and (min-width:600px){.homepage-sidebar .homepage-sidebar-trigger{right:var(--spacing-2);top:var(--spacing-2);left:auto;bottom:auto;--trigger-size:60px}}.homepage-sidebar .homepage-sidebar-trigger circle{vector-effect:non-scaling-stroke;stroke-width:4px;fill:rgba(255,255,255,.4);transition:fill var(--transition)ease,stroke var(--transition)ease,color var(--transition)ease;backdrop-filter:blur(2px)}.homepage-sidebar .homepage-sidebar-trigger:hover,.homepage-sidebar .homepage-sidebar-trigger:active,.homepage-sidebar .homepage-sidebar-trigger:focus{transform:scale(1.1);outline:none}.homepage-sidebar .homepage-sidebar-trigger:hover circle,.homepage-sidebar .homepage-sidebar-trigger:active circle,.homepage-sidebar .homepage-sidebar-trigger:focus circle{fill:var(--color-interactive)}.homepage-sidebar .homepage-sidebar-panel{position:absolute;right:0;top:0;bottom:0;height:120vh;background-color:var(--color-accent);transition:transform var(--transition)ease,opacity 0s linear var(--transition);width:100vw;transform:translateX(100vw);padding:0;opacity:0;display:grid;grid-template-rows:65vh 30vh;grid-row-gap:10vh;justify-content:center}.homepage-sidebar .homepage-sidebar-panel ul{width:100%;margin-top:0;text-align:center}.homepage-sidebar .homepage-sidebar-panel ul.links{display:flex;flex-direction:column;justify-content:space-between;margin-top:10vh}.homepage-sidebar .homepage-sidebar-panel ul.links li a{display:block;padding:0}@media screen and (min-width:600px){.homepage-sidebar .homepage-sidebar-panel ul.links li a{padding:var(--spacing-05)0}}@media screen and (min-width:900px){.homepage-sidebar .homepage-sidebar-panel ul.links li a{padding:var(--spacing-025)0}}@media screen and (min-width:1200px){.homepage-sidebar .homepage-sidebar-panel ul.links li a{padding:var(--spacing-025)0}}@media screen and (min-width:1200px){.homepage-sidebar .homepage-sidebar-panel ul.links{margin-top:0}}.homepage-sidebar .homepage-sidebar-panel ul.contact a{display:block;padding:var(--spacing-05)0}@media screen and (min-width:600px){.homepage-sidebar .homepage-sidebar-panel ul.contact a{padding:var(--spacing-0125)0}}@media screen and (min-width:600px){.homepage-sidebar .homepage-sidebar-panel{grid-template-rows:calc(100vh - var(--spacing-4));grid-template-columns:1fr 1fr;padding:var(--spacing-4)var(--spacing-2)0 var(--spacing-4);--width:min(max(60vw, 500px), calc(100vw - var(--spacing-6)));width:var(--width);transform:translateX(calc(var(--width) * 1))}.homepage-sidebar .homepage-sidebar-panel ul{margin-top:var(--spacing-0);text-align:left}.homepage-sidebar .homepage-sidebar-panel ul.links{height:calc(100vh - var(--spacing-8));margin-top:0}}@media screen and (min-width:600px) and (min-height:600px){.homepage-sidebar .homepage-sidebar-panel ul.links{margin-top:10vh;height:calc(min(35vh,350px))}}@media screen and (min-width:600px){.homepage-sidebar .homepage-sidebar-panel ul.contact{align-self:end;margin-bottom:var(--spacing-4)}}@media screen and (min-width:600px) and (min-height:600px){.homepage-sidebar .homepage-sidebar-panel{display:block;padding:var(--spacing-6)0 0 var(--spacing-6)}.homepage-sidebar .homepage-sidebar-panel .contact{align-self:start}}@media screen and (min-width:900px){.homepage-sidebar .homepage-sidebar-panel{padding:var(--spacing-4)var(--spacing-2)0 var(--spacing-4);--width:min(max(40vw, 500px), calc(100vw - var(--spacing-6)));width:var(--width);transform:translateX(calc(var(--width) * 1))}.homepage-sidebar .homepage-sidebar-panel .links{margin-top:5vh}}@media screen and (min-width:900px) and (min-height:600px){.homepage-sidebar .homepage-sidebar-panel .links{height:calc(min(40vh,350px))}}@media screen and (min-width:900px) and (min-height:600px){.homepage-sidebar .homepage-sidebar-panel{display:block;padding:var(--spacing-4)0 0 var(--spacing-4)}.homepage-sidebar .homepage-sidebar-panel .contact{align-self:start}}@media screen and (min-width:600px){.homepage-sidebar .homepage-sidebar-panel .contact{margin-top:0}}@media screen and (min-width:600px) and (min-height:600px){.homepage-sidebar .homepage-sidebar-panel .contact{margin-top:var(--spacing-5)}}.homepage-sidebar .sidebar-backdrop{transition:opacity var(--transition)ease;opacity:0;background-color:rgba(0,0,0,5%);width:100vw;height:100vh;position:absolute;top:0;left:-100vw;right:0;bottom:0;cursor:pointer;display:none;backdrop-filter:blur(2px)}.homepage-sidebar.isOpen .homepage-sidebar-trigger{color:var(--color-highlight)}.homepage-sidebar.isOpen .homepage-sidebar-trigger circle{fill:transparent}.homepage-sidebar.isOpen .homepage-sidebar-trigger:hover circle,.homepage-sidebar.isOpen .homepage-sidebar-trigger:focus circle{fill:var(--color-highlight)}.homepage-sidebar.isOpen .homepage-sidebar-panel{transform:translateX(0);opacity:1;transition:transform var(--transition)ease,opacity 0s linear 0s}@media screen and (min-width:600px){.homepage-sidebar.isOpen .homepage-sidebar-panel{transform:translateX(0)}}.homepage-sidebar.isOpen .sidebar-backdrop{display:block;opacity:1}.page-header{margin-top:var(--spacing-2);margin-bottom:var(--spacing-1)}.homepage-header{padding:0}.homepage-header>*{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3);align-items:center}@media screen and (min-width:900px){.homepage-header>*{padding-top:0;padding-bottom:0;height:80vh}}.homepage-header .page-intro{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}@media screen and (min-width:600px){.homepage-header .info{width:100%;padding-left:var(--spacing-3);padding-right:var(--spacing-3)}}.homepage-about{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.homepage-page{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}.homepage-page .references{margin-top:var(--spacing-2);margin-bottom:var(--spacing-2)}.homepage-project-list,.homepage-notes-list,.homepage-project,.homepage-note{padding-top:var(--spacing-6);padding-bottom:var(--spacing-6)}@media screen and (min-width:600px){.homepage-project-list,.homepage-notes-list,.homepage-project,.homepage-note{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}}.note-list-footer,.project-list-footer,.homepage-about-footer{display:flex;justify-content:flex-end}.note-list-footer .section-link-footer,.project-list-footer .section-link-footer,.homepage-about-footer .section-link-footer{display:block}.homepage-page .page-date{display:block;margin-top:var(--spacing-2)}.homepage-project-list .project-preview,.homepage-project-list .note-preview,.homepage-notes-list .project-preview,.homepage-notes-list .note-preview,.homepage-project .project-preview,.homepage-project .note-preview{display:grid;grid-template-rows:auto auto auto 1fr auto}.homepage-project-list .project-preview>*,.homepage-project-list .note-preview>*,.homepage-notes-list .project-preview>*,.homepage-notes-list .note-preview>*,.homepage-project .project-preview>*,.homepage-project .note-preview>*{display:block}.homepage-project-list .project-preview.note-preview,.homepage-project-list .note-preview.note-preview,.homepage-notes-list .project-preview.note-preview,.homepage-notes-list .note-preview.note-preview,.homepage-project .project-preview.note-preview,.homepage-project .note-preview.note-preview{position:relative}.homepage-project-list .project-preview.note-preview:not(:nth-last-of-type(1)):nth-child(even)::after,.homepage-project-list .note-preview.note-preview:not(:nth-last-of-type(1)):nth-child(even)::after,.homepage-notes-list .project-preview.note-preview:not(:nth-last-of-type(1)):nth-child(even)::after,.homepage-notes-list .note-preview.note-preview:not(:nth-last-of-type(1)):nth-child(even)::after,.homepage-project .project-preview.note-preview:not(:nth-last-of-type(1)):nth-child(even)::after,.homepage-project .note-preview.note-preview:not(:nth-last-of-type(1)):nth-child(even)::after{background-color:var(--color-outline);content:"";height:100%;position:absolute;right:calc(var(--spacing-2)/2 * -1);top:0;width:1px}.homepage-project-list .project-preview.note-preview .note-preview-footer,.homepage-project-list .note-preview.note-preview .note-preview-footer,.homepage-notes-list .project-preview.note-preview .note-preview-footer,.homepage-notes-list .note-preview.note-preview .note-preview-footer,.homepage-project .project-preview.note-preview .note-preview-footer,.homepage-project .note-preview.note-preview .note-preview-footer{display:flex;justify-content:space-between}.homepage-project-list .project-preview.note-preview .note-description,.homepage-project-list .note-preview.note-preview .note-description,.homepage-notes-list .project-preview.note-preview .note-description,.homepage-notes-list .note-preview.note-preview .note-description,.homepage-project .project-preview.note-preview .note-description,.homepage-project .note-preview.note-preview .note-description{margin-bottom:var(--spacing-05)}.homepage-project-list .project-preview .project-link-image img,.homepage-project-list .note-preview .project-link-image img,.homepage-notes-list .project-preview .project-link-image img,.homepage-notes-list .note-preview .project-link-image img,.homepage-project .project-preview .project-link-image img,.homepage-project .note-preview .project-link-image img{border:1px solid var(--color-outline);width:100%;height:auto;transition:border-color var(--transition)ease;display:block;margin-bottom:var(--spacing-1)}@media screen and (min-width:600px){.homepage-project-list .project-preview .project-link-image img,.homepage-project-list .note-preview .project-link-image img,.homepage-notes-list .project-preview .project-link-image img,.homepage-notes-list .note-preview .project-link-image img,.homepage-project .project-preview .project-link-image img,.homepage-project .note-preview .project-link-image img{margin-bottom:var(--spacing-025)}}.homepage-project-list .project-preview .project-title,.homepage-project-list .note-preview .project-title,.homepage-notes-list .project-preview .project-title,.homepage-notes-list .note-preview .project-title,.homepage-project .project-preview .project-title,.homepage-project .note-preview .project-title{margin-bottom:var(--spacing-05)}@media screen and (min-width:900px){.homepage-project-list .project-preview .project-title,.homepage-project-list .note-preview .project-title,.homepage-notes-list .project-preview .project-title,.homepage-notes-list .note-preview .project-title,.homepage-project .project-preview .project-title,.homepage-project .note-preview .project-title{margin-bottom:var(--spacing-025)}}.homepage-project-list .project-preview .project-description,.homepage-project-list .note-preview .project-description,.homepage-notes-list .project-preview .project-description,.homepage-notes-list .note-preview .project-description,.homepage-project .project-preview .project-description,.homepage-project .note-preview .project-description{margin-bottom:var(--spacing-05)}@media screen and (min-width:900px){.homepage-project-list .project-preview .project-description,.homepage-project-list .note-preview .project-description,.homepage-notes-list .project-preview .project-description,.homepage-notes-list .note-preview .project-description,.homepage-project .project-preview .project-description,.homepage-project .note-preview .project-description{margin-bottom:var(--spacing-025)}}.homepage-project-list .project-preview .project-topic,.homepage-project-list .note-preview .project-topic,.homepage-notes-list .project-preview .project-topic,.homepage-notes-list .note-preview .project-topic,.homepage-project .project-preview .project-topic,.homepage-project .note-preview .project-topic{margin-bottom:var(--spacing-05)}@media screen and (min-width:900px){.homepage-project-list .project-preview .project-topic,.homepage-project-list .note-preview .project-topic,.homepage-notes-list .project-preview .project-topic,.homepage-notes-list .note-preview .project-topic,.homepage-project .project-preview .project-topic,.homepage-project .note-preview .project-topic{margin-bottom:var(--spacing-0125)}}.homepage-project-list .project-preview .project-link,.homepage-project-list .note-preview .project-link,.homepage-notes-list .project-preview .project-link,.homepage-notes-list .note-preview .project-link,.homepage-project .project-preview .project-link,.homepage-project .note-preview .project-link{display:inline-block}.homepage-project .related-projects{margin-top:var(--spacing-3)}.homepage-project .project-header{margin-bottom:0}@media screen and (min-width:900px){.homepage-project .project-header{margin-bottom:var(--spacing-3)}}.homepage-project .project-header *:first-child{margin-bottom:var(--spacing-025)}.homepage-project .homepage-project-facts{display:grid;grid-template-rows:auto;row-gap:var(--spacing-1);align-content:start}@media screen and (min-width:600px){.homepage-project .homepage-project-facts{row-gap:var(--spacing-05)}}@media screen and (min-width:900px){.homepage-project .homepage-project-facts{grid-column:9/span 4}}.homepage-project .homepage-project-facts span{border-bottom:1px solid var(--color-border);padding:0 0 var(--spacing-1)}@media screen and (min-width:600px){.homepage-project .homepage-project-facts span{padding:0 0 var(--spacing-05)}}.homepage-project .homepage-project-facts span:first-child{padding-top:0}.homepage-project .homepage-project-facts span:last-of-type{padding-bottom:0;border-bottom:0}.homepage-project .homepage-project-facts p+p{margin-top:0}.homepage-project .homepage-project-facts .btn{margin:var(--spacing-15)0 0;padding:var(--spacing-1)0}@media screen and (min-width:600px){.homepage-project .homepage-project-facts .btn{margin:var(--spacing-05)0 0;padding:var(--spacing-05)0}}.homepage-project .homepage-project-facts>a{text-align:center}.homepage-project .project{overflow-x:hidden}.homepage-project .project .counter{position:absolute;opacity:0;display:none;transition:opacity var(--transition)ease;pointer-events:none;white-space:nowrap;z-index:3}.homepage-project .gallery{position:relative;z-index:1}@media(hover){.homepage-project .gallery:hover+.counter{opacity:1;display:block}}.homepage-project .gallery .carousel-nav{position:relative;top:0}.homepage-project .gallery .btn-blank{position:absolute;top:calc(50% - 6rem);z-index:2;transition:opacity var(--transition)ease}.homepage-project .gallery .btn-blank:disabled{opacity:0;pointer-events:none}.homepage-project .gallery .btn-blank svg{width:6rem;height:10rem}.homepage-project .gallery .btn-blank svg polyline{stroke-width:2px;vector-effect:non-scaling-stroke}.homepage-project .gallery #btnPrev{left:calc((10rem - 4rem)/2 * -1)}@media screen and (min-width:600px){.homepage-project .gallery #btnPrev{left:calc(10rem/2 * -1)}}.homepage-project .gallery #btnNext{right:calc((10rem - 4rem)/2 * -1)}@media screen and (min-width:600px){.homepage-project .gallery #btnNext{right:calc(10rem/2 * -1)}}.homepage-project .carousel{cursor:grab}.homepage-project .carousel img{width:100%;height:auto;border:1px solid var(--color-outline);vertical-align:middle}.homepage-project .carousel figcaption{margin-top:var(--spacing-025)}.homepage-note .note-header .article-date{margin-top:var(--spacing-025)}.page-footer{padding-top:var(--spacing-3);margin-bottom:var(--spacing-3)}.page-footer .wrapper>div{padding-top:var(--spacing-3);margin-bottom:var(--spacing-2);grid-row-gap:var(--spacing-2);position:relative;display:grid;grid-template-columns:1fr}@media screen and (min-width:600px){.page-footer .wrapper>div{padding-top:var(--spacing-1);grid-row-gap:var(--spacing-025)}}.page-footer .wrapper>div::before{border-top:1px solid var(--color-border);content:"";position:absolute;top:0;width:200px;left:0}.page-footer .wrapper>div nav,.page-footer .wrapper>div section{line-height:1}@media screen and (min-width:600px){.page-footer .wrapper>div nav,.page-footer .wrapper>div section{display:block}}.page-footer .wrapper>div nav>a,.page-footer .wrapper>div section>a{margin-right:var(--spacing-2);padding:var(--spacing-05)var(--spacing-0125)}@media screen and (min-width:600px){.page-footer .wrapper>div nav>a,.page-footer .wrapper>div section>a{margin-right:var(--spacing-1);padding:0}}@media print{.page-footer{display:none}}:root{--color-default:#191c29;--color-fg:#191c29;--color-bg:#ffffff;--color-accent:#f73c2f;--color-interactive:#1437dd;--color-highlight:#FFEE00;--color-border:#DCDCDC;--color-mute:#767676;--color-outline:#EEEFF0;--margin:max(calc(1.5vw + 1vmin), 2px);--base:calc(1.5vw);--color-border-primary:var(--color-fg);--color-border-secondary:var(--color-fg);--transition:0.3s}.theme-dark{--color-fg:#ffffff;--color-bg:#191c29;--color-accent:#f73c2f;--color-interactive:#c8b6ff;--color-highlight:#985277;--color-border:#363636;--color-outline:#222}@media(-ms-high-contrast:active){:root{--color-default:#000;--color-fg:#000;--color-bg:#fff;--color-accent:#ff0000;--color-interactive:#0000ff;--color-highlight:#ffff00;--color-border:#000;--color-mute:#000;--color-outline:#000}}@media(prefers-reduced-motion:reduce){:root{--transition:0s}}@keyframes fade-target{0%{background-color:var(--color-highlight)}50%{background-color:var(--color-highlight)}100%{background-color:transparent}}:root{--size-5:17px;--size-4:calc(var(--size-5) * 1.125);--size-3:calc(var(--size-4) * 1.125);--size-2:calc(var(--size-3) * 1.125);--size-1:calc(var(--size-2) * 1.125);--size-0:calc(var(--size-1) * 1.125);--size-6:calc(var(--size-5) / 1.125);--size-7:calc(var(--size-6) / 1.125)}@media screen and (min-width:900px){:root{--size-5:17px;--size-4:calc(var(--size-5) * 1.2);--size-3:calc(var(--size-4) * 1.2);--size-2:calc(var(--size-3) * 1.2);--size-1:calc(var(--size-2) * 1.2);--size-0:calc(var(--size-1) * 1.2);--size-6:calc(var(--size-5) / 1.2);--size-7:calc(var(--size-6) / 1.2)}}@media screen and (min-width:1200px){:root{--size-5:17px;--size-4:calc(var(--size-5) * 1.25);--size-3:calc(var(--size-4) * 1.25);--size-2:calc(var(--size-3) * 1.25);--size-1:calc(var(--size-2) * 1.25);--size-0:calc(var(--size-1) * 1.25);--size-6:calc(var(--size-5) / 1.25);--size-7:calc(var(--size-6) / 1.25)}}i{font-style:normal}sup{font-size:.7em}q{font-style:italic;quotes:none}abbr{text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--color-interactive)}a abbr{text-decoration:none}.mute{color:var(--color-mute)}::selection{color:var(--color-fg);background-color:var(--color-highlight);text-shadow:none;-webkit-text-stroke:0;text-decoration:none;border-bottom:none}.btn-blank{text-decoration:none;color:var(--color-fg);transition:color var(--transition)ease;padding:var(--spacing-025)var(--spacing-05);background-color:transparent;border:none;cursor:pointer}.btn-blank:hover,.btn-blank:focus{color:var(--color-interactive)}.btn{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-5);max-width:calc(var(--size-5) * 50);hyphens:auto;padding:var(--spacing-05)var(--spacing-2);background-color:var(--color-interactive);color:var(--color-bg);text-decoration:none;transition:background-color var(--transition)ease}@media screen and (min-width:600px){.btn{hyphens:none}}.btn:hover,.btn:active,.btn:focus{background-color:var(--color-fg)}.carousel-nav .btn-blank{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-6);max-width:calc(var(--size-6) * 50);hyphens:auto}@media screen and (min-width:600px){.carousel-nav .btn-blank{hyphens:none}}.page-intro,h1,.h1{font-weight:700;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.2;font-size:var(--size-1)}.page-intro.page-intro,h1.page-intro,.h1.page-intro{line-height:1.3}.page-intro.page-intro em,h1.page-intro em,.h1.page-intro em{font-style:normal;display:inline;padding-left:.15em;margin-left:-.15em;padding-right:.15em;margin-right:-.15em;background:linear-gradient(0deg,var(--color-highlight) .4em,rgba(255,255,255,0) 0)}.page-header .nav>*{display:inline-block}.page-header i{color:var(--color-mute);padding:0 var(--spacing-05);font-weight:600}@media screen and (min-width:600px){.page-header i{padding:0 var(--spacing-025)}}.page-header .home{font-weight:600}.page-header .topic{font-weight:500}.section-headline,h2,.h2{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.2;font-size:var(--size-2);margin-bottom:var(--spacing-1)}@media screen and (min-width:600px){.section-headline,h2,.h2{margin-bottom:var(--spacing-05)}}.paragraph-headline,h3,.h3{font-weight:600;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.2;font-size:var(--size-3);margin-bottom:var(--spacing-1)}@media screen and (min-width:600px){.paragraph-headline,h3,.h3{margin-bottom:var(--spacing-05)}}h4,.h4{font-weight:600;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.2;font-size:var(--size-4);margin-bottom:var(--spacing-05)}@media screen and (min-width:600px){h4,.h4{margin-bottom:var(--spacing-025)}}h5,.h5{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-5);max-width:calc(var(--size-5) * 50);hyphens:auto;margin-bottom:var(--spacing-05);font-weight:600}@media screen and (min-width:600px){h5,.h5{hyphens:none}}@media screen and (min-width:600px){h5,.h5{margin-bottom:var(--spacing-025)}}.section-subheadline,header .article-date,.article-footer,.project-footer,.page-date{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-6);max-width:calc(var(--size-6) * 50);hyphens:auto;display:block;color:var(--color-mute)}@media screen and (min-width:600px){.section-subheadline,header .article-date,.article-footer,.project-footer,.page-date{hyphens:none}}.section-subheadline a,header .article-date a,.article-footer a,.project-footer a,.page-date a{text-decoration:underline;color:var(--color-fg);text-decoration-color:var(--color-interactive);transition:text-decoration-color var(--transition)ease,color var(--transition)ease;text-decoration-color:var(--color-border);color:var(--color-mute)}.section-subheadline a:hover,.section-subheadline a:focus,header .article-date a:hover,header .article-date a:focus,.article-footer a:hover,.article-footer a:focus,.project-footer a:hover,.project-footer a:focus,.page-date a:hover,.page-date a:focus{color:var(--color-interactive);text-decoration-color:var(--color-interactive)}.section-link-footer{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-5);max-width:calc(var(--size-5) * 50);hyphens:auto;text-decoration:none;color:var(--color-interactive);border-bottom:1px solid transparent;text-decoration-color:var(--color-border);transition:color var(--transition)ease,border-bottom-color var(--transition)ease;padding:var(--spacing-025)var(--spacing-05)var(--spacing-025)var(--spacing-2);text-align:right}@media screen and (min-width:600px){.section-link-footer{hyphens:none}}.section-link-footer:hover,.section-link-footer:active,.section-link-footer:focus{border-bottom-color:var(--color-interactive)}main p a,main ul a,main ol a,main span a{text-decoration:underline;color:var(--color-fg);text-decoration-color:var(--color-interactive);transition:text-decoration-color var(--transition)ease,color var(--transition)ease}main p a:hover,main p a:focus,main ul a:hover,main ul a:focus,main ol a:hover,main ol a:focus,main span a:hover,main span a:focus{color:var(--color-interactive);text-decoration-color:var(--color-interactive)}main a.footnote{text-decoration:none;color:var(--color-interactive);transition:color var(--transition)ease;padding-left:2px}main a.footnote:hover,main a.footnote:focus{color:var(--color-fg)}main ul strong,main ol strong,main p strong,main span strong{font-weight:600}main code{font-size:.8em;line-height:1.7;background-color:#f4f4f4;border-radius:2px;padding:0 4px;display:inline-block;font-family:Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace;line-break:auto;white-space:pre-wrap}main p,main ul,main ol,main pre,main span{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-5);max-width:calc(var(--size-5) * 50);hyphens:auto}@media screen and (min-width:600px){main p,main ul,main ol,main pre,main span{hyphens:none}}main p.footnote,main ul.footnote,main ol.footnote,main pre.footnote,main span.footnote{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-6);max-width:calc(var(--size-6) * 50);hyphens:auto;scroll-margin-top:var(--spacing-8)}@media screen and (min-width:600px){main p.footnote,main ul.footnote,main ol.footnote,main pre.footnote,main span.footnote{hyphens:none}}main p.footnote:target,main ul.footnote:target,main ol.footnote:target,main pre.footnote:target,main span.footnote:target{background-color:#f8f3c6}main .homepage-project .project-footer{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-6);max-width:calc(var(--size-6) * 50);hyphens:auto}@media screen and (min-width:600px){main .homepage-project .project-footer{hyphens:none}}main .intro p,main .homepage-project-facts .btn,main .homepage-project p{font-size:var(--size-4)}main .homepage-project p{font-size:var(--size-5)}@media screen and (min-width:600px){main .homepage-project p{font-size:var(--size-4)}}main .homepage-project-facts span{font-size:var(--size-6)}@media screen and (min-width:900px){main .homepage-project-facts span{font-size:var(--size-5)}}@media screen and (min-width:1200px){main .homepage-project-facts span{font-size:var(--size-4)}}main .text-about p,main .text-about span,main .text-about a,main .text-error p,main .text-error span,main .text-error a{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-5);max-width:calc(var(--size-5) * 50);hyphens:auto;font-size:var(--size-3);line-height:1.4}@media screen and (min-width:600px){main .text-about p,main .text-about span,main .text-about a,main .text-error p,main .text-error span,main .text-error a{hyphens:none}}main .text-about sup a,main .text-error sup a{font-size:.7em;font-weight:600}main .text-about .references .reference,main .text-error .references .reference{scroll-margin-top:var(--spacing-4)}main .text-about .references .reference p,main .text-about .references .reference a,main .text-about .references .reference span,main .text-error .references .reference p,main .text-error .references .reference a,main .text-error .references .reference span{font-size:var(--size-4)}main .text-about .references .reference::before,main .text-error .references .reference::before{font-size:.7em;font-weight:600}main .text-about .references .reference:target,main .text-error .references .reference:target{background-color:var(--color-highlight)}main *:not(.dense)>p+p{margin-top:var(--spacing-05)}main p+ul,main ul+p{margin-top:var(--spacing-05)}main ul li{padding:.2em 1em .2em 1.5em;position:relative;display:block}main ul li:before{content:"–";color:var(--color-mute);position:absolute;left:0}main ol li{padding:.2em 1em .2em 1.5em;position:relative;display:block;counter-increment:inst}main ol li:before{content:counter(inst);color:var(--color-mute);position:absolute;left:0;top:8px;font-size:var(--size-6)}article .article-date,article .article-footer,article .page-date{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-6);max-width:calc(var(--size-6) * 50);hyphens:auto}@media screen and (min-width:600px){article .article-date,article .article-footer,article .page-date{hyphens:none}}article p+h2,article ul+h2,article ol+h2{margin-top:var(--spacing-3);margin-bottom:var(--spacing-1)}article p+h3,article ul+h3,article ol+h3{margin-top:var(--spacing-2);margin-bottom:var(--spacing-1)}article p+h4,article ul+h4,article ol+h4,article p+h5,article ul+h5,article ol+h5,article p+h5,article ul+h5,article ol+h5{margin-top:var(--spacing-2);margin-bottom:var(--spacing-05)}@media screen and (min-width:600px){article p+h2,article ul+h2,article ol+h2{margin-top:var(--spacing-15)}article p+h3,article ul+h3,article ol+h3{margin-top:var(--spacing-1);margin-bottom:var(--spacing-05)}article p+h4,article ul+h4,article ol+h4,article p+h5,article ul+h5,article ol+h5,article p+h6,article ul+h6,article ol+h6{margin-top:var(--spacing-1);margin-bottom:var(--spacing-05)}}article h4{margin-bottom:var(--spacing-025)}article ul,article ol{display:block}.homepage-sidebar-panel{color:var(--color-bg)}.homepage-sidebar-panel ul.links{font-size:var(--size-0)}.homepage-sidebar-panel ul.links a{line-height:1}@media screen and (min-width:900px){.homepage-sidebar-panel ul.links{font-size:var(--size-2)}}.homepage-sidebar-panel ul.contact{font-size:var(--size-4)}.homepage-sidebar-panel ul a{text-decoration:none;color:var(--color-bg);text-decoration-color:var(--color-interactive);transition:color var(--transition)ease}.homepage-sidebar-panel ul a:hover,.homepage-sidebar-panel ul a:focus,.homepage-sidebar-panel ul a.isActive{color:var(--color-fg)}.project-preview .project-link-secondary{text-decoration:underline;color:var(--color-fg);text-decoration-color:var(--color-interactive);transition:text-decoration-color var(--transition)ease,color var(--transition)ease;text-decoration-color:var(--color-border)}.project-preview .project-link-secondary:hover,.project-preview .project-link-secondary:focus{color:var(--color-interactive);text-decoration-color:var(--color-interactive)}.project-preview .project-topic,.project-preview .project-link-secondary,.project-preview .project-description p{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-6);max-width:calc(var(--size-6) * 50);hyphens:auto}@media screen and (min-width:600px){.project-preview .project-topic,.project-preview .project-link-secondary,.project-preview .project-description p{hyphens:none}}.project-preview .project-link-image{text-decoration:none;color:var(--color-fg);transition:color var(--transition)ease;font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-6);max-width:calc(var(--size-6) * 50);hyphens:auto}.project-preview .project-link-image:hover,.project-preview .project-link-image:focus{color:var(--color-interactive)}@media screen and (min-width:600px){.project-preview .project-link-image{hyphens:none}}.project-preview .project-title{font-weight:600;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.2;font-size:var(--size-4)}.project-preview.third .project-description p{line-height:1.7}.project-link-primary,.page-header a{text-decoration:none;color:var(--color-fg);transition:color var(--transition)ease}.project-link-primary:hover,.project-link-primary:focus,.page-header a:hover,.page-header a:focus{color:var(--color-interactive)}.note-link-primary{text-decoration:none;color:var(--color-fg);transition:color var(--transition)ease}.note-link-primary:hover,.note-link-primary:focus{color:var(--color-interactive)}.note-title{font-weight:600;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.2;font-size:var(--size-3)}.note-description p{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-5);max-width:calc(var(--size-5) * 50);hyphens:auto}@media screen and (min-width:600px){.note-description p{hyphens:none}}.note-link-secondary{text-decoration:underline;color:var(--color-fg);text-decoration-color:var(--color-interactive);transition:text-decoration-color var(--transition)ease,color var(--transition)ease;text-decoration-color:var(--color-border);font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-6);max-width:calc(var(--size-6) * 50);hyphens:auto}.note-link-secondary:hover,.note-link-secondary:focus{color:var(--color-interactive);text-decoration-color:var(--color-interactive)}@media screen and (min-width:600px){.note-link-secondary{hyphens:none}}.note-date{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-6);max-width:calc(var(--size-6) * 50);hyphens:auto}@media screen and (min-width:600px){.note-date{hyphens:none}}.carousel figcaption{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-5);max-width:calc(var(--size-5) * 50);hyphens:auto}@media screen and (min-width:600px){.carousel figcaption{hyphens:none}}.page-footer a{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-6);max-width:calc(var(--size-6) * 50);hyphens:auto;text-decoration:none;color:var(--color-fg);transition:color var(--transition)ease}@media screen and (min-width:600px){.page-footer a{hyphens:none}}.page-footer a:hover,.page-footer a:focus{color:var(--color-interactive)}.page-footer span{font-weight:500;font-family:untitled sans,helvetica neue,Helvetica,Arial,serif;line-height:1.8;font-size:var(--size-6);max-width:calc(var(--size-6) * 50);hyphens:auto}@media screen and (min-width:600px){.page-footer span{hyphens:none}}