@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}:root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--page-background);color:var(--page-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6}*{box-sizing:border-box}::selection{background:var(--page-text);color:var(--page-background)}body{margin:0;padding:0 28px 80px}.site-header,main{width:100%;max-width:var(--content-width);margin-inline:auto}.site-header{padding-block:72px 48px;position:relative}.site-header__row{justify-content:space-between;align-items:flex-start;gap:24px;width:100%;display:flex}.site-header__row .site-title{min-width:0}a{color:inherit;text-decoration-color:var(--link-underline);text-underline-offset:4px;text-decoration-thickness:1px;transition:color .14s,text-decoration-color .14s}a:hover{text-decoration-color:var(--link-underline)}a:focus-visible{outline:2px solid var(--page-text);outline-offset:5px;border-radius:2px}.site-title{color:var(--page-text);font:inherit;margin:0}.wordmark{letter-spacing:-.035em;font-size:32px;font-weight:500;line-height:1.2;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{text-wrap:balance;color:var(--text-muted);letter-spacing:-.025em;margin-bottom:28px;font-size:18px;font-weight:400;line-height:1.4}h2{text-wrap:balance;color:var(--text-muted);margin-bottom:22px;font-size:14px;font-weight:500}p{text-wrap:pretty;margin-bottom:22px}section{margin-bottom:52px}.rows{margin:0;padding:0;list-style:none}.rows li{margin-bottom:24px}.rows p{color:var(--text-muted);margin:0;font-size:15px}.muted{color:var(--text-muted)}.more{margin-top:28px;font-size:14px}.contact{flex-wrap:wrap;gap:22px;font-size:14px;display:flex}.article p{margin-bottom:28px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;margin-top:0;display:grid}.gallery figure{--photo-tilt:-1deg;margin:0;position:relative}.gallery figure:nth-child(2n){--photo-tilt:1deg}.gallery img{outline:1px solid var(--photo-outline);outline-offset:-1px;border-radius:3px;width:100%;height:auto;transition:transform .28s cubic-bezier(.2,0,0,1);display:block}.gallery figcaption{color:var(--text-muted);margin-top:9px;font-size:13px}.skip-link{background:var(--page-text);color:var(--page-background);z-index:10;padding:8px 12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:16px}.experiment-page{flex-direction:column;height:100dvh;padding:0;display:flex}.experiment-page .site-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:24px;max-width:none;padding:16px 24px;display:flex}.experiment-main{flex-direction:column;flex:1;max-width:none;min-height:0;display:flex}.experiment-toolbar{flex-wrap:wrap;flex-shrink:0;align-items:baseline;gap:12px 24px;padding:12px 24px;display:flex}.experiment-toolbar a{color:var(--text-muted);font-size:14px}.experiment-frame{background:var(--page-background);border:0;flex:1;width:100%;height:auto;min-height:0;display:block}@media (width<=600px){body{padding:0 24px 56px}.site-header{padding-block:40px 48px}section{margin-bottom:42px}.experiment-page{padding:0}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wordmark,.contact a,.contact button,.more a{align-items:center;min-height:40px;display:inline-flex}.rows li>a{font-weight:500;display:inline-block;position:relative}.rows li>a:before{content:"";position:absolute;inset:-7px -4px}@media (prefers-reduced-motion:reduce){a{transition:none}}.compact-home p{margin-bottom:20px}.compact-home .contact{margin-top:32px}@media (width<=600px){.gallery{gap:16px}}@media (hover:hover) and (pointer:fine){.photo-button:not([aria-expanded=true]):hover img{transform:translateY(-3px) rotate(var(--photo-tilt)) scale(1.015)}}@media (prefers-reduced-motion:reduce){.gallery img,.gallery img:hover{transition:none;transform:none}}.photo-button{cursor:zoom-in;background:0 0;border:0;width:100%;margin:0;padding:0;display:block}.photo-button:focus-visible{outline:2px solid var(--page-text);outline-offset:5px}.photo-button[aria-expanded=true]{cursor:zoom-out}.gallery figure.is-raised{z-index:1}.header-meta{color:var(--text-muted);margin:0;font-size:14px;line-height:1.6;position:absolute;inset-block-end:20px}.contact button{color:inherit;font:inherit;text-align:left;text-decoration:underline;text-decoration-color:var(--link-underline);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration-thickness:1px}.contact button:focus-visible{outline:2px solid var(--page-text);outline-offset:5px;border-radius:2px}.email-address{user-select:all}.email-copy{align-items:center;min-height:40px;display:inline-flex;position:relative}.email-copy-tooltip{white-space:nowrap;color:var(--page-text);background:var(--tooltip-background);border:1px solid var(--tooltip-border);opacity:0;pointer-events:none;border-radius:8px;padding:4px 7px;font-size:11px;font-weight:500;line-height:1.4;transition:opacity .12s ease-out,transform .12s cubic-bezier(.2,0,0,1);position:absolute;bottom:calc(50% + 14px);left:50%;transform:translate(-50%,2px)}.email-copy-tooltip:after{content:"";background:var(--tooltip-background);border-right:1px solid var(--tooltip-border);border-bottom:1px solid var(--tooltip-border);width:6px;height:6px;margin-top:-4px;position:absolute;top:100%;left:50%;transform:translate(-50%)rotate(45deg)}.email-copy-tooltip.is-visible{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.email-copy-tooltip,.email-copy-tooltip.is-visible{transition:none;transform:translate(-50%)}}.theme-toggle[data-astro-cid-l6lhmie6]{width:40px;height:40px;color:var(--text-muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;flex:0 0 40px;place-items:center;padding:0;transition:color .16s,background-color .16s,scale .16s;display:grid;position:relative}.theme-toggle[data-astro-cid-l6lhmie6][hidden]{display:none}.theme-toggle--floating[data-astro-cid-l6lhmie6]{z-index:5;position:fixed;top:20px;right:20px}.theme-toggle[data-astro-cid-l6lhmie6]:focus-visible{outline:2px solid var(--page-text);outline-offset:3px}.theme-toggle[data-astro-cid-l6lhmie6]:active{scale:.96}.theme-toggle[data-astro-cid-l6lhmie6] svg[data-astro-cid-l6lhmie6]{pointer-events:none;transition:opacity .18s cubic-bezier(.2,0,0,1),scale .18s cubic-bezier(.2,0,0,1),filter .18s cubic-bezier(.2,0,0,1);position:absolute}.theme-toggle__moon[data-astro-cid-l6lhmie6],[data-theme=light] .theme-toggle__sun[data-astro-cid-l6lhmie6]{opacity:0;filter:blur(4px);scale:.25}[data-theme=light] .theme-toggle__moon[data-astro-cid-l6lhmie6]{opacity:1;filter:blur();scale:1}@media (hover:hover){.theme-toggle[data-astro-cid-l6lhmie6]:hover{color:var(--page-text);background:var(--toggle-hover)}}@media (prefers-reduced-motion:reduce){.theme-toggle[data-astro-cid-l6lhmie6],.theme-toggle[data-astro-cid-l6lhmie6] svg[data-astro-cid-l6lhmie6]{transition:none}.theme-toggle[data-astro-cid-l6lhmie6]:active{scale:1}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
