@font-face{font-family:Geist;src:url(../media/Geist-Variable.2wz-lhd5-5z0-.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(../media/Geist-Italic-Variable.0319-1rk9h93o.woff2)format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Geist Serif;src:url(../media/GeistSerif-Variable.09h0rm9evi_qd.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--forsk-font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--forsk-font-serif:"Geist Serif", Georgia, "Times New Roman", Times, serif;--forsk-font-heading:var(--forsk-font-serif);--forsk-font-body:var(--forsk-font-sans);--forsk-font-ui:var(--forsk-font-sans)}.forsk-font-heading{font-family:var(--forsk-font-heading);font-weight:400}.forsk-font-body{font-family:var(--forsk-font-body)}.forsk-font-ui{font-family:var(--forsk-font-ui);font-weight:500}
:root{--ink:#1a1a1a;--meta:#666;--duration-fast:.12s;--ease-out:cubic-bezier(.23, 1, .32, 1);--forsk-ink:26 26 26;--forsk-surface-panel:#fff;--forsk-shadow-button:0 1px 2px 0 rgb(var(--forsk-ink) / .12), 0 0 0 1px rgb(var(--forsk-ink) / .08);--forsk-shadow-card:0 0 0 1px rgb(var(--forsk-ink) / .07), 0 1px 2px 0 rgb(var(--forsk-ink) / .12), 0 3px 4px -2px rgb(var(--forsk-ink) / .08);--forsk-surface-well:rgb(var(--forsk-ink) / .05);--forsk-surface-raised-hover:color-mix(in srgb, rgb(var(--forsk-ink)) 4%, #fff);--forsk-press-scale:.97}*{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}html,body{margin:0}body{min-height:100dvh;color:var(--ink);font-family:var(--forsk-font-body);background:#fff;padding:24px;line-height:1.5}button{font-family:var(--forsk-font-ui)}h1,h2,h3{font-family:var(--forsk-font-heading);margin:0;font-weight:400}a{color:inherit}a:focus-visible{outline:1px solid var(--ink);outline-offset:4px;border-radius:2px}.site-header,.content{max-width:1040px;margin-inline:auto}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;column-gap:24px;display:flex}.brand{align-items:center;gap:8px;min-height:40px;text-decoration:none;display:flex}.brand img{width:auto;height:16px;display:block}.wordmark{font-family:var(--forsk-font-heading);padding-top:1px;font-size:1.25rem;font-weight:400;line-height:1}.wordmark-rest{display:none}.site-nav{font-family:var(--forsk-font-ui);flex-wrap:wrap;column-gap:24px;font-size:.875rem;line-height:1;display:flex}.site-nav a{min-height:40px;color:var(--meta);transition:color var(--duration-fast) var(--ease-out);align-items:center;text-decoration:none;display:inline-flex}.content{padding-block:72px 96px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.hero{padding-bottom:8px}.hero-title{letter-spacing:-.01em;margin-bottom:8px;font-size:clamp(2.5rem,7vw,4.5rem);line-height:1}.cta-row{flex-wrap:wrap;gap:12px;margin:24px 0 0;display:flex}.cta{min-height:44px;box-shadow:var(--forsk-shadow-button);font-family:var(--forsk-font-ui);transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:#fff;border-radius:999px;align-items:center;padding:0 20px;font-size:.9375rem;line-height:1;text-decoration:none;display:inline-flex}.cta-primary{background:var(--ink);color:#fff;box-shadow:0 0 0 1px var(--forsk-surface-panel)}@media (prefers-reduced-motion:no-preference){.cta{transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out)}.cta:active{transform:scale(var(--forsk-press-scale))}}.cta-row-contact{margin-top:32px}.page-title{letter-spacing:-.01em;margin-bottom:32px;scroll-margin-top:24px;font-size:2.5rem;line-height:1}.project-list{margin:0;padding:0;list-style:none}.project{box-shadow:inset 0 1px 0 rgb(var(--forsk-ink) / .08);padding-block:40px}.tags{flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.tag{height:24px;box-shadow:var(--forsk-shadow-button);font-family:var(--forsk-font-ui);letter-spacing:.01em;color:var(--ink);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;padding:0 12px;font-size:.75rem;line-height:1;display:inline-flex}.status{height:24px;font-family:var(--forsk-font-ui);letter-spacing:.01em;color:var(--ink);white-space:nowrap;box-shadow:inset -1px 0 0 rgb(var(--forsk-ink) / .08);align-items:center;gap:8px;margin-right:4px;padding:0 12px 0 0;font-size:.75rem;line-height:1;display:inline-flex}.status:before{content:"";box-sizing:border-box;border-radius:50%;width:8px;height:8px}.status-done:before{background:var(--ink)}.status-ongoing:before{box-shadow:inset 0 0 0 1px var(--ink)}.tag-example{background:var(--forsk-surface-well);box-shadow:none;color:var(--meta)}.project-title{font-size:2rem;line-height:1.25}.description{max-width:35em;margin:16px 0 0;font-size:1rem;line-height:1.5}.stats,.contact{flex-wrap:wrap;gap:16px 48px;margin:24px 0 0;display:flex}.stats dt,.contact dt{color:var(--meta);font-size:.875rem;line-height:1.5rem}.stats dd,.contact dd{margin:0;font-size:1rem;line-height:1.5rem}.contact{box-shadow:inset 0 1px 0 rgb(var(--forsk-ink) / .08);flex-direction:column;gap:24px;margin-top:0;padding-top:40px}.contact dd a{margin-block:-8px;padding-block:8px;display:inline-block}.projects-section{margin-top:72px}.contact-section{margin-top:80px}.images{grid-template-columns:1fr 1fr;gap:8px;margin-top:32px;display:grid;overflow:visible}.images img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}.images img:first-child{grid-column:1/-1}.images[data-count="3"] img:not(:first-child){aspect-ratio:3/4}.images[data-count="2"] img{aspect-ratio:4/3;grid-column:1/-1}@media (min-width:640px){.wordmark-rest{display:inline}}@media (min-width:768px){body{padding:48px}.content{padding-block:120px}.page-title{letter-spacing:-.02em;font-size:3.5rem}.project-title{font-size:2.5rem;line-height:1.2}.images{grid-template-columns:repeat(3,1fr);gap:16px}.images img,.images img:first-child,.images[data-count="3"] img:not(:first-child),.images[data-count="2"] img{aspect-ratio:4/3;grid-column:auto}.images[data-count="1"] img{aspect-ratio:16/9;grid-column:1/-1}.images[data-count="1"] img.natural{aspect-ratio:auto;max-width:min(100%, var(--natural-w))}.projects-section{margin-top:96px}.contact-section{margin-top:120px}}@media (min-width:1024px){.page-title{font-size:4.5rem}}.site-nav a[aria-current=page]{color:var(--ink)}.ar-main{--ar-primary:#2948f5;--ar-radius:8px;--ar-radius-card:16px;--ar-fast:var(--duration-fast);--ar-ease:var(--ease-out);max-width:1040px;margin-inline:auto;padding-bottom:96px}:where(.ar-main) :is(p,ul,ol){margin:0}.ar-main :is(a,summary):focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:var(--ar-radius)}.ar-crumbs{color:var(--meta);margin-top:64px;font-size:.875rem;line-height:1.5rem}.ar-crumbs ol{min-width:0;margin:0;padding:0;list-style:none;display:flex}.ar-crumbs li{min-width:0;display:flex}.ar-crumbs li+li:before{content:"/";flex:none;padding-inline:8px}.ar-crumbs a{transition:color var(--ar-fast) var(--ar-ease);text-decoration:none}.ar-crumb-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ar-crumb-title{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.ar-titleblock{max-width:800px;margin-top:32px}.ar-h1{letter-spacing:-.01em;text-wrap:balance;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:2rem;line-height:2.5rem}.ar-meta{color:var(--meta);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 24px;margin:24px 0 0;padding:0;font-size:.875rem;line-height:1.5rem;list-style:none;display:flex}.ar-grid{margin-top:32px}.ar-toc{display:none}.ar-col{-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:8 4 4;overflow-wrap:break-word;min-width:0;max-width:592px;font-size:1.125rem;line-height:1.75rem}.ar-col strong{font-weight:600}.ar-ingress{text-wrap:pretty;max-width:640px;font-size:1.25rem;line-height:2rem}.ar-body p{text-wrap:pretty;margin-bottom:16px}.ar-body blockquote{margin:0 0 16px;padding:0}.ar-h2{text-wrap:balance;margin:40px 0 16px;scroll-margin-top:24px;font-size:1.5rem;line-height:2rem}.ar-h3{text-wrap:balance;margin:32px 0 8px;font-size:1.25rem;line-height:1.75rem}.ar-a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:rgb(var(--forsk-ink) / .4);text-decoration-color:rgb(var(--forsk-ink) / .4);transition:color var(--ar-fast) var(--ar-ease), text-decoration-color var(--ar-fast) var(--ar-ease)}.ar-a-meta{color:var(--meta);-webkit-text-decoration-color:color-mix(in srgb, var(--meta) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--meta) 40%, transparent)}.ar-body :is(ul,ol),.ar-list{margin:0 0 16px;padding-left:24px}.ar-body ul,.ar-list{list-style:outside}.ar-body ol{font-variant-numeric:tabular-nums;list-style:decimal}.ar-body li+li,.ar-list>li+li{margin-top:8px}.ar-body li::marker{color:var(--meta)}.ar-list>li::marker{color:var(--meta)}.ar-body li>:is(ul,ol){margin:8px 0 0}.ar-summary{border-radius:var(--ar-radius-card);box-shadow:var(--forsk-shadow-card);background:#fff;margin-top:32px;padding:24px}.ar-summary-label{margin-bottom:8px;font-size:.875rem;font-weight:600;line-height:1.5rem}.ar-summary .ar-list{margin-bottom:0}.ar-summary+.ar-body>:first-child{margin-top:0}.ar-cta-card{border-radius:var(--ar-radius-card);box-shadow:var(--forsk-shadow-card);background:#fff;flex-direction:column;gap:24px;margin-top:48px;padding:24px;display:flex}.ar-cta-text{font-size:1.125rem;line-height:1.75rem}.ar-main .ar-cta:focus-visible{border-radius:999px}.ar-cta{white-space:nowrap;flex:none;justify-content:center;width:100%;min-height:48px}.ar-section{margin-top:48px}.ar-section>.ar-h2{margin-top:0}.ar-faq{box-shadow:inset 0 -1px 0 rgb(var(--forsk-ink) / .08)}.ar-faq details{box-shadow:inset 0 1px 0 rgb(var(--forsk-ink) / .08)}.ar-faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding-block:12px;font-size:1.125rem;font-weight:500;line-height:1.75rem;list-style:none;display:flex}.ar-faq summary::-webkit-details-marker{display:none}.ar-plus{flex:none;width:16px;height:16px;position:relative}.ar-plus:before,.ar-plus:after{content:"";background:var(--meta);border-radius:1px;position:absolute}.ar-plus:before{height:1.5px;margin-top:-.75px;top:50%;left:0;right:0}.ar-plus:after{width:1.5px;transition:opacity var(--ar-fast) var(--ar-ease);margin-left:-.75px;top:0;bottom:0;left:50%}.ar-faq details[open] .ar-plus:after{opacity:0}.ar-faq-a{text-wrap:pretty;padding-bottom:16px}.ar-faq details[open] .ar-faq-a{animation:ar-fade var(--ar-fast) var(--ar-ease)}@keyframes ar-fade{0%{opacity:0}to{opacity:1}}.ar-src-group+.ar-src-group{margin-top:24px}.ar-src-label{font-family:var(--forsk-font-ui);color:var(--meta);margin-bottom:8px;font-size:.75rem;font-weight:500;line-height:1rem}.ar-sources ul{margin:0;padding:0;font-size:.875rem;line-height:1.5rem;list-style:none}.ar-sources li+li{margin-top:8px}.ar-sources a{overflow-wrap:anywhere}.ar-cards{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.ar-card{border-radius:var(--ar-radius-card);box-shadow:var(--forsk-shadow-card);transition:background-color var(--ar-fast) var(--ar-ease);background:#fff;padding:24px;position:relative}.ar-card:has(a:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.ar-card h3{font-size:1.25rem;line-height:1.75rem}.ar-card a{text-decoration:none}.ar-card a:focus-visible{outline:none}.ar-card a:after{content:"";border-radius:var(--ar-radius-card);position:absolute;inset:0}.ar-card p{color:var(--meta);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;font-size:.875rem;line-height:1.5rem;display:-webkit-box;overflow:hidden}.ar-page-title{letter-spacing:-.01em;margin-top:32px;margin-bottom:48px;font-size:2.5rem;line-height:1}.ar-rows{max-width:800px;margin:0;padding:0;list-style:none}.ar-row{box-shadow:inset 0 1px 0 rgb(var(--forsk-ink) / .08);padding-block:32px;position:relative}.ar-row:last-child{box-shadow:inset 0 1px 0 rgb(var(--forsk-ink) / .08), inset 0 -1px 0 rgb(var(--forsk-ink) / .08)}.ar-row h2{text-wrap:balance;font-size:1.5rem;line-height:2rem}.ar-row h2 a{text-underline-offset:4px;transition:text-decoration-color var(--ar-fast) var(--ar-ease);-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px}.ar-row h2 a:after{content:"";position:absolute;inset:0}.ar-row-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:640px;margin-top:8px;font-size:1.125rem;line-height:1.75rem;display:-webkit-box;overflow:hidden}.ar-row-meta{color:var(--meta);font-variant-numeric:tabular-nums;margin-top:16px;font-size:.875rem;line-height:1.5rem}@media (min-width:640px){.ar-crumb-title{clip-path:none;width:auto;height:auto;position:static;overflow:visible}.ar-cta-card{flex-direction:row;justify-content:space-between;align-items:center}.ar-cta{width:auto}}@media (min-width:768px){.ar-page-title{letter-spacing:-.02em;font-size:3.5rem}}@media (min-width:1024px){.ar-h1{font-size:3rem;line-height:3.5rem}.ar-grid{grid-template-columns:592px 240px;align-items:start;column-gap:144px;display:grid}.ar-toc{box-shadow:inset 1px 0 0 rgb(var(--forsk-ink) / .08);padding-left:16px;display:block;position:sticky;top:24px}.ar-toc-title{font:500 .875rem/1.5rem var(--forsk-font-ui);margin-bottom:8px}.ar-toc ul{color:var(--meta);margin:0;padding:0;font-size:.875rem;line-height:1.5rem;list-style:none}.ar-toc li+li{margin-top:8px}.ar-toc a{transition:color var(--ar-fast) var(--ar-ease);text-decoration:none}}@media (hover:hover) and (pointer:fine){.site-nav a:hover{color:var(--ink)}.cta:hover{background:var(--meta);color:#fff}.ar-crumbs a:hover{color:var(--ink)}.ar-a:hover{color:var(--ar-primary);-webkit-text-decoration-color:var(--ar-primary);text-decoration-color:var(--ar-primary)}.ar-card:hover{background:var(--forsk-surface-raised-hover)}.ar-row:hover h2 a{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.ar-toc a:hover{color:var(--ink)}}
