@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff)format("woff")}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-standard-normal.s-izfB6B.woff2)format("woff2-variations")}:root{color-scheme:light;--bg:#f6f4ee;--surface:#e8eeea;--paper:#fbfaf6;--text:#282b28;--muted:#5c635e;--line:#bfc9c3;--accent:#205b68;--accent-hover:#16434e;--diagram-bg:#dce9e8;--sans:"IBM Plex Sans", "Segoe UI", sans-serif;--serif:"Newsreader Variable", Georgia, serif;--mono:Consolas, "Liberation Mono", monospace;--max:1120px;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--section-space:clamp(4rem, 7vw, 6.5rem);--ease:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--accent) var(--bg);scroll-padding-top:2rem}body{color:var(--text);background:var(--bg);font:400 1.0625rem/1.7 var(--sans);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--accent);color:var(--paper)}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}a:hover{color:var(--accent)}a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h1,h2{font-family:var(--serif);letter-spacing:-.035em;font-weight:450}h2{font-size:clamp(2.35rem,4.8vw,4rem);line-height:1.06}.container{width:min(calc(100% - 2.5rem), var(--max));margin-inline:auto}.arrow{vertical-align:middle;flex:none;display:inline-block}.arrow.right{transform:rotate(45deg)}.arrow.down{transform:rotate(90deg)}.skip-link{z-index:20;background:var(--accent);color:var(--paper);padding:.75rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{color:var(--paper);transform:none}.header-inner{grid-template-columns:1fr auto;align-items:center;padding-block:1rem .5rem;display:grid}.brand{width:fit-content;min-height:44px;font:500 2.25rem/1 var(--serif);letter-spacing:-.04em;align-items:center;text-decoration:none;display:inline-flex}.brand span{color:var(--accent)}.nav{grid-area:2/1/auto/-1;gap:1.5rem;display:flex}.nav a,.languages a{align-items:center;min-height:44px;font-size:.875rem;text-decoration:none;display:inline-flex}.nav a:hover{text-decoration:underline}.languages{display:flex}.languages a{justify-content:center;min-width:44px;font-size:.75rem}.languages a[aria-current]{color:var(--accent);text-underline-offset:.5em;text-decoration:underline 2px}.hero{gap:2.25rem;padding-top:2.5rem;display:grid}.hero h1{color:var(--accent);font-size:clamp(3.8rem,7.4vw,6rem);line-height:.9}.hero h1>span{display:block}.name-period{color:var(--text)}.hero-location{color:var(--muted);margin-top:1.25rem;font-size:.85rem;line-height:1.5}.hero-statement{font:400 clamp(1.8rem, 3.25vw, 2.8rem)/1.13 var(--serif);letter-spacing:-.02em}.hero-statement em{color:var(--accent);font-style:normal}.hero-copy{max-width:36rem;margin-top:1.25rem}.hero-actions{flex-wrap:wrap;gap:.25rem 1.8rem;margin-top:1.2rem;display:flex}.text-link{justify-content:space-between;align-items:center;gap:1rem;min-height:44px;font-size:.925rem;text-decoration:underline;display:inline-flex}.text-link .arrow{color:var(--accent)}.connections{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:1.5rem;display:grid}.connections a{border-top:1px solid var(--accent);min-height:85px;padding:1.1rem .5rem .6rem;text-decoration:none;position:relative}.connections a:before{content:"";border-left:1px solid var(--accent);height:.7rem;transition:height .24s var(--ease);position:absolute;top:0;left:.5rem}.connections a:hover:before,.connections a:focus-visible:before{height:1rem}.connection-title{color:var(--accent);justify-content:space-between;gap:.25rem;font-size:.85rem;font-weight:500;display:flex}.connection-title .arrow{width:15px;height:15px;margin-top:.25rem}.connection-detail{color:var(--muted);margin-top:.25rem;font-size:.7rem;line-height:1.45;display:block}.projects-section{padding-block:3.75rem var(--section-space)}.section-heading{margin-bottom:2.5rem}.section-heading h2{margin-bottom:1rem}.section-heading p{color:var(--muted);max-width:38rem}.project{scroll-margin-top:2rem}.project-featured{gap:2rem;margin-bottom:2.5rem;display:grid}.project-example{min-width:0;color:var(--accent-hover);background:var(--diagram-bg);margin:0;padding:1.5rem 1.1rem 1rem}.example-caption{flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;font-size:.7rem;display:flex}.example-caption>:last-child{font-weight:500}.process-diagram{width:100%;height:auto;margin-block:.3rem;display:block;overflow:visible}.diagram-shapes{fill:var(--diagram-bg)}.diagram-active{fill:var(--accent)}.diagram-labels{fill:var(--accent-hover);font:17px var(--sans)}.diagram-labels .active-label{fill:var(--paper)}.example-footer{font-size:.75rem}.example-footer>span{margin-bottom:.3rem;display:block}details{border-top:1px solid #92b4b8;margin-top:.8rem}summary{cursor:pointer;text-underline-offset:.2em;width:fit-content;min-height:44px;padding-block:.65rem;font-size:.8rem}summary:hover{text-decoration:underline}pre{background:var(--paper);color:var(--accent-hover);font:.7rem/1.8 var(--mono);tab-size:2;margin:0 0 .5rem;padding:1rem;overflow-x:auto}.project-heading h3{font:450 clamp(2rem, 3.4vw, 3.25rem)/1.1 var(--serif);letter-spacing:-.025em}.project-status{color:var(--muted);margin-top:.55rem;font-size:.75rem;display:block}.project-description>p{max-width:65ch;margin-top:1.3rem}.tags{color:var(--muted);flex-wrap:wrap;gap:.25rem 1rem;margin:1rem 0 .75rem;padding:0;font-size:.75rem;list-style:none;display:flex}.project:not(.project-featured){border-top:1px solid var(--line);padding-block:1.75rem}.project:not(.project-featured) h3{font-size:2rem}.project:not(.project-featured) .project-description>p{margin-top:1rem}.background-wrap{background:var(--surface)}.background-grid{padding-block:var(--section-space);gap:3rem;display:grid}.profile h2{white-space:pre-line;font-size:clamp(2.2rem,3.8vw,3.2rem)}.profile-lead{font:400 1.5rem/1.35 var(--serif);max-width:32rem;margin-block:1.75rem 1.25rem}.profile-copy{max-width:65ch}.profile-copy p+p{margin-top:1.2rem}.personal-note{max-width:29rem;margin-top:2.5rem;padding-left:1.5rem}.personal-note p{font:400 1.65rem/1.25 var(--serif);color:var(--accent)}.personal-note span{color:var(--muted);margin-top:.75rem;font-size:.75rem;display:block}.explorations{border-top:1px solid var(--line);padding-top:2.5rem}.explorations h2{font:500 1.3rem/1.3 var(--sans);letter-spacing:-.015em;margin-bottom:1.75rem}.explore-item+.explore-item{margin-top:1.75rem}.explore-item h3{font-size:.95rem;font-weight:500;line-height:1.45}.explore-item p{color:var(--muted);margin-top:.55rem;font-size:.925rem;line-height:1.65}.contact{padding-block:var(--section-space) 3rem;gap:1.5rem;display:grid}.contact h2{color:var(--accent);font-size:clamp(3rem,5.7vw,5rem)}.contact-content>p{max-width:35rem}.contact-email{min-height:48px;font-family:var(--serif);letter-spacing:-.02em;text-decoration-color:var(--accent);align-items:center;gap:.75rem;margin-top:1rem;font-size:clamp(1.5rem,3vw,2.5rem);display:inline-flex}.contact-email .arrow{color:var(--accent)}.footer-inner{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.4rem 1.5rem;padding-block:1.5rem;font-size:.7rem;display:flex}.footer-inner>*{flex-basis:100%}.footer-inner a{align-items:center;gap:.5rem;width:fit-content;min-height:44px;display:inline-flex}.footer-inner .arrow{width:15px;height:15px}@media (width>=40rem){.container{width:min(calc(100% - 4rem), var(--max))}.header-inner{grid-template-columns:1fr auto auto;gap:2rem;padding-block:1.2rem}.nav{grid-area:auto;gap:2rem}.hero{padding-top:3rem}.connections a{padding:1.4rem 1rem .8rem}.connections a:before{left:1rem}.connection-title{font-size:1.1rem}.connection-detail{font-size:.85rem}.project-example{padding:1.75rem 2rem 1rem}.example-caption{font-size:.8rem}.footer-inner{justify-content:space-between}.footer-inner>*{flex-basis:auto}}@media (width>=60rem){.hero{grid-template-columns:5fr 7fr;gap:2.5rem 3rem;padding-top:4.5rem}.introduction{padding-top:.2rem}.connections{margin-top:.75rem}.projects-section{padding-top:5rem}.section-heading{margin-bottom:2.75rem;padding-left:calc(41.6667% + 1.75rem)}.section-heading h2{white-space:nowrap}.project-featured{grid-template-columns:7fr 5fr;align-items:center;gap:3.5rem;margin-bottom:3rem}.project-example{margin-left:-2rem}.project-featured .project-description>p{font-size:1rem}.project:not(.project-featured){margin-left:16.6667%;padding-block:2rem}.project:not(.project-featured) .project-body{grid-template-columns:3fr 5fr;gap:3rem;display:grid}.project:not(.project-featured) .project-description>p{margin-top:0;font-size:1rem}.background-grid{grid-template-columns:7fr 4fr;gap:5rem}.explorations{border-top:0;border-left:1px solid var(--line);padding:.5rem 0 0 2rem}.contact{grid-template-columns:5fr 7fr;align-items:start;gap:3rem;padding-bottom:4.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
