@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/6cec87c23af19a62-s.08di4g7n39o46.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/c24fec3b421fd73c-s.3szkwhi_rfrst.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/61e56fd33ece1ad8-s.p.0op912u62qdhl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(/fonts/c0e2eae9e0de9f16-s.0spvl5h7nh4kj.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(/fonts/2ff936f45a7b5918-s.0bgqpv90abx9d.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(/fonts/cf9a11b6772b9533-s.1elj1f4z6aq4a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/70975a37357bc622-s.3jzqmxpevyhx0.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/1e64b3f57c96dda9-s.2235mpa3g0s8a.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/25948cc26c1183b1-s.23gcsyr-xc01s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/77551cceac6523b8-s.26a7rlfo_sv5y.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/7ee4e68c3aab54c5-s.0h7e00f9km-36.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/6f240fb509094cc8-s.p.08hbbknvbgrcb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}:root{--font-serif:"Newsreader", "Newsreader Fallback";--font-serif-italic:"Newsreader", "Newsreader Fallback";--font-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f1f4f8;--ink:#1b2230;--text:#3a4350;--muted:#5b6574;--rule:#d9e0e8;--field:#1b2230;--field-opacity:.16;--accent:#2443c4;--mark-filter:none;--serif:var(--font-serif), "Iowan Old Style", Georgia, serif;--serif-italic:var(--font-serif-italic), "Iowan Old Style", Georgia, serif;--mono:var(--font-mono), ui-monospace, "SF Mono", Menlo, monospace;--column:44rem;--gutter:1.5rem;--tap:2.75rem;--ease-out:cubic-bezier(.23, 1, .32, 1)}@media (prefers-color-scheme:dark){:root:not(.light){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0d1117;--ink:#e6ebf1;--text:#b9c2cd;--muted:#8c96a3;--rule:#222a34;--field:#c9d3e0;--field-opacity:.11;--accent:#9db1ff;--mark-filter:brightness(1.45) contrast(1.05) drop-shadow(0 0 .5px #e6ebf159)}}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0d1117;--ink:#e6ebf1;--text:#b9c2cd;--muted:#8c96a3;--rule:#222a34;--field:#c9d3e0;--field-opacity:.11;--accent:#9db1ff;--mark-filter:brightness(1.45) contrast(1.05) drop-shadow(0 0 .5px #e6ebf159)}@media (min-width:640px){:root{--gutter:2.5rem}}*,:before,:after{box-sizing:border-box}html{background:var(--paper);-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);min-height:100svh;color:var(--text);font-family:var(--serif);font-optical-sizing:auto;font-kerning:normal;font-variant-numeric:oldstyle-nums proportional-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:1.125rem;line-height:1.6}::selection{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}a{color:inherit}h1,h2,h3,p,ul{margin:0}.bw-site{isolation:isolate;flex-direction:column;min-height:100svh;display:flex;position:relative}.bw-site>main{flex:1}.bw-skip{left:var(--gutter);z-index:10;background:var(--ink);color:var(--paper);border-radius:6px;padding:.5rem .875rem;font-size:.9375rem;text-decoration:none;position:absolute;top:.75rem;transform:translateY(-200%)}.bw-skip:focus-visible{transform:none}main[tabindex="-1"]:focus{outline:none}.bw-nav__bar{padding:1.25rem var(--gutter);justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.bw-nav__brand{margin:-.25rem;margin-top:calc((var(--tap) - 28px) / 2 - .25rem);border-radius:8px;padding:.25rem;display:inline-flex}.bw-nav__brand img{width:27px;height:28px;filter:var(--mark-filter);display:block}.bw-nav__links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.25rem 1.375rem;display:flex}.bw-nav__links a,.bw-footer__links a{min-height:var(--tap);color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;transition:color .16s var(--ease-out);align-items:center;font-size:.75rem;text-decoration:none;display:inline-flex}.bw-nav__links a:hover,.bw-footer__links a:hover{color:var(--ink)}.bw-footer{margin-top:clamp(6rem,14vw,10rem)}.bw-footer__inner{max-width:var(--column);padding:1.5rem var(--gutter) 2rem;box-sizing:content-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 1.5rem;margin:0 auto;display:flex}.bw-footer__address{color:var(--muted);letter-spacing:0;text-transform:none;flex-basis:100%;margin:0 0 .75rem;font-size:.9375rem;line-height:1.5}.bw-footer__copyright{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;font-size:.75rem}.bw-footer__links{flex-wrap:wrap;gap:0 1.375rem;display:flex}.bw-footer__links a{white-space:nowrap}.bw-home{position:relative}.bw-field path{vector-effect:non-scaling-stroke}.bw-field{z-index:-1;width:100%;height:clamp(11rem,24vw,17rem);color:var(--field);opacity:var(--field-opacity);pointer-events:none;-webkit-mask-composite:source-in;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 0%,#0000 100%),linear-gradient(90deg,#0000 0%,#000 22% 78%,#0000 100%);mask-image:linear-gradient(#000 0%,#0000 100%),linear-gradient(90deg,#0000 0%,#000 22% 78%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.bw-hero{text-align:center;padding:clamp(4.5rem, 11vw, 8.5rem) var(--gutter) 0;flex-direction:column;align-items:center;display:flex}.bw-eyebrow,.bw-label{color:var(--muted);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;font-weight:400;line-height:1.5}.bw-eyebrow{margin-top:1.375rem}.bw-hero h1{color:var(--ink);letter-spacing:-.025em;font-size:clamp(3.25rem,8.4vw,5.75rem);font-weight:400;line-height:1}.bw-thesis{max-width:38ch;color:var(--text);text-wrap:balance;margin-top:1.5rem;font-size:clamp(1.25rem,2.3vw,1.5rem);line-height:1.42}.bw-column{max-width:var(--column);padding:0 var(--gutter);box-sizing:content-box;margin:clamp(6rem,15vw,11rem) auto 0}.bw-lede{max-width:36em;color:var(--text);text-wrap:pretty;font-size:1.1875rem;line-height:1.62}.bw-crumbs{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:.35rem .5rem;margin-bottom:1.5rem;font-size:.75rem;display:flex}.bw-crumbs a,.bw-prose .bw-crumbs a{color:var(--muted);text-decoration:none}.bw-crumbs a:hover,.bw-prose .bw-crumbs a:hover{color:var(--ink)}.bw-crumbs__sep{margin-right:.5rem}.bw-label{margin-top:4.5rem}.bw-portfolio{border-top:1px solid var(--rule);margin-top:1rem;padding:0;list-style:none}.bw-portfolio li{border-bottom:1px solid var(--rule);position:relative}.bw-portfolio li:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .26s var(--ease-out);pointer-events:none;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.bw-portfolio a{grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1.5rem;padding:1.375rem 0;text-decoration:none;display:grid}.bw-portfolio__id,.bw-portfolio__desc{transition:transform .16s var(--ease-out)}.bw-portfolio__id{grid-column:1;align-items:center;gap:.75rem;min-width:0;display:flex}.bw-portfolio__mark{flex:none;width:22px;height:22px}.bw-portfolio__mark img{width:22px;height:22px;transition:transform .2s var(--ease-out);display:block}.bw-portfolio__name{color:var(--ink);letter-spacing:-.01em;font-size:1.375rem;font-weight:500;line-height:1.25}.bw-portfolio__desc{max-width:34em;color:var(--muted);text-wrap:pretty;grid-column:1;padding-left:calc(22px + .75rem);font-size:1.0625rem;line-height:1.55}.bw-portfolio__arrow{color:var(--muted);transition:transform .2s var(--ease-out), color .2s var(--ease-out);grid-area:1/2;align-self:center;font-size:1.125rem;line-height:1}@media (min-width:900px){.bw-portfolio a{grid-template-columns:17rem minmax(0,1fr) auto;align-items:baseline;column-gap:2rem}.bw-portfolio__id{align-self:center}.bw-portfolio__desc{grid-area:1/2;align-self:center;padding-left:0}.bw-portfolio__arrow{grid-column:3;align-self:center}}@media (hover:hover){.bw-portfolio a:hover .bw-portfolio__arrow{color:var(--accent);transform:translate(2px,-2px)}.bw-identity+.bw-portfolio a:hover .bw-portfolio__arrow{transform:translate(3px)}.bw-portfolio a:hover .bw-portfolio__mark img{transform:translate(1px)}.bw-portfolio li:hover:after{transform:scaleX(1)}}.bw-portfolio a:active .bw-portfolio__id,.bw-portfolio a:active .bw-portfolio__desc{transition-duration:.1s;transform:translateY(1px)}@media (prefers-reduced-motion:no-preference){.bw-hero>*{animation:bw-rise .52s var(--ease-out) both}.bw-hero>:nth-child(2){animation-delay:60ms}.bw-hero>:nth-child(3){animation-delay:.12s}.bw-field{animation:bw-trace 1.1s var(--ease-out) 80ms both}.bw-portfolio li{animation:bw-rise .48s var(--ease-out) both;animation-delay:calc(.18s + var(--i,0) * 45ms)}.bw-portfolio li:nth-child(2){--i:1}.bw-portfolio li:nth-child(3){--i:2}.bw-portfolio li:nth-child(4){--i:3}.bw-portfolio li:nth-child(5){--i:4}}@keyframes bw-trace{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes bw-rise{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation:none!important}}.bw-page{max-width:40rem;padding:0 var(--gutter);box-sizing:content-box;margin:clamp(3.5rem,9vw,6.5rem) auto 0}.bw-prose h1,.bw-identity h1{color:var(--ink);letter-spacing:-.02em;font-size:clamp(2.375rem,6vw,3.25rem);font-weight:400;line-height:1.05}.bw-prose h2{color:var(--ink);letter-spacing:-.01em;margin-top:2.75rem;font-size:1.375rem;font-weight:500;line-height:1.3}.bw-prose p,.bw-prose ul{margin-top:1rem;font-size:1.0625rem;line-height:1.68}.bw-prose p{text-wrap:pretty}.bw-prose ul{padding-left:1.25rem}.bw-prose li+li{margin-top:.375rem}.bw-prose li::marker{color:var(--muted)}.bw-prose a{color:var(--ink);text-underline-offset:.18em;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--ink) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--ink) 35%, transparent);transition:text-decoration-color .16s var(--ease-out)}.bw-prose a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.bw-prose .bw-note{color:var(--muted);font-family:var(--serif-italic);margin-top:1rem;font-style:italic}.bw-prose .bw-meta{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;margin-top:2rem;font-size:.75rem;line-height:1.6}.bw-prose .bw-meta a{color:var(--muted)}.bw-prose .bw-lede,.bw-identity .bw-lede{margin-top:1.25rem;font-size:1.1875rem;line-height:1.62}.bw-identity+.bw-portfolio{margin-top:2.75rem}.bw-prose p>img{vertical-align:-.3em;display:inline-block}.bw-contact{border-top:1px solid var(--rule);margin-top:3rem;padding-top:.25rem}
