:root{--accent:#39736c;--accent-dark:#285b55;--black:27, 29, 30;--gray:91, 97, 98;--gray-light:222, 219, 211;--gray-dark:49, 53, 54;--paper:#f4f2ec;--surface:#fbfaf7;--line:#d8d5cc;--muted:#5b6162;--font-body:-apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4.5rem;--space-8:7rem;--space-9:10rem;--content-width:76rem;color-scheme:light}:root[data-theme=dark]{--accent:#6fa59d;--accent-dark:#8bbab3;--black:235, 237, 236;--gray:161, 168, 166;--gray-light:58, 64, 63;--gray-dark:213, 217, 215;--paper:#181b1a;--surface:#202524;--line:#343b39;--muted:#a1a8a6;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:rgb(var(--gray-dark));font-family:var(--font-body);overflow-wrap:break-word;text-align:left;word-wrap:break-word;-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:20px;line-height:1.65}::selection{background:var(--accent);color:#fff}main{width:min(var(--content-width), calc(100% - 3rem));padding:0 0 var(--space-9);margin:auto}main>section{padding:var(--space-7) 0;border-top:1px solid var(--line)}main>section:first-child{border-top:0}main>section:last-child{padding-bottom:var(--space-9)}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-4);color:rgb(var(--black));font-family:var(--font-display);letter-spacing:-.025em;font-weight:700;line-height:1.08}h1{letter-spacing:-.055em;font-size:clamp(3.5rem,9vw,8rem)}h2{letter-spacing:-.035em;font-size:clamp(2rem,3.8vw,3.75rem)}h3{letter-spacing:-.01em;font-size:1.35rem}h4{font-size:1.125rem}h5{font-size:1rem}p{margin:0 0 var(--space-4);color:rgb(var(--gray-dark));line-height:1.65}strong,b{color:rgb(var(--black));font-weight:700}a{color:var(--accent-dark);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--accent)}.hero{min-height:calc(100vh - 4.5rem);padding:var(--space-8) 0;flex-direction:column;justify-content:center;display:flex}.hero .eyebrow{margin-bottom:var(--space-5);color:var(--accent-dark);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:700;line-height:1.2}.hero h1{margin-bottom:var(--space-6)}.hero-description{line-height:1.5}.hero-description+.hero-description{margin-top:var(--space-4)}.hero>a{margin-top:var(--space-5);border:1px solid var(--accent-dark);color:var(--accent-dark);align-self:flex-start;padding:.75rem 1rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-block}.hero>a:hover{background:var(--accent-dark);color:#fff}.problem{display:block}.problem h2{margin-bottom:var(--space-7)}.problem p{margin:0 0 var(--space-5);line-height:1.55}.problem p:last-child{margin-bottom:0}.services{display:block}.services h2{margin-bottom:var(--space-7)}.service-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.service-card{min-height:18rem;padding:var(--space-5);border:1px solid var(--line);background:var(--surface)}.service-card h3{margin-bottom:var(--space-5)}.service-card p{margin-bottom:0;font-size:1.05rem}.process{display:block}.process h2{margin-bottom:var(--space-7)}.process-flow{gap:var(--space-3);margin-bottom:var(--space-7);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.process-step{padding-top:var(--space-3);border-top:2px solid var(--accent);color:rgb(var(--black));margin:0;font-weight:700;line-height:1.25}.process>div>p{margin-bottom:var(--space-4);line-height:1.6}.selected-work{display:block}.selected-work>h2{margin-bottom:var(--space-4)}.selected-work>p{margin-bottom:var(--space-7)}.project-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-card{min-height:22rem;padding:var(--space-5);border:1px solid var(--line);background:var(--surface)}.project-card h3{margin-bottom:var(--space-2);color:var(--accent-dark);letter-spacing:.12em;text-transform:uppercase;font-size:.9rem}.project-card p{margin-bottom:var(--space-4);color:var(--muted);font-size:1rem}.project-card .project-lead{margin-bottom:var(--space-4)}.project-card .project-lead strong{color:rgb(var(--black));font-size:1.15rem}.project-card a{margin-top:var(--space-3);font-weight:700;display:inline-block}.notebook h2{margin-bottom:var(--space-5)}.notebook p:first-of-type{color:var(--muted)}.notebook p:last-of-type{margin-bottom:var(--space-5)}.notebook a{font-weight:700}.about h2{margin-bottom:var(--space-6)}.about h3{margin-bottom:var(--space-2);font-size:clamp(1.8rem,3vw,2.5rem)}.about p strong{color:var(--accent-dark)}.about a{font-weight:700}.contact{padding-top:var(--space-9);border-top:2px solid var(--accent)}.contact p:last-of-type{margin-top:var(--space-6);margin-bottom:var(--space-5);font-size:1.5rem}.contact>a{border:1px solid var(--accent-dark);color:var(--accent-dark);background:0 0;padding:.8rem 1rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-block}.contact>a:hover{background:var(--accent-dark);color:#fff}.prose{width:46rem;max-width:100%;margin:auto}.prose p{margin-bottom:var(--space-5)}textarea,input{font:inherit;font-size:1rem}table{border-collapse:collapse;width:100%}th,td{padding:var(--space-2);border-bottom:1px solid var(--line);text-align:left}img{border-radius:2px;max-width:100%;height:auto}code{background:rgb(var(--gray-light));border-radius:2px;padding:.15em .35em;font-size:.9em}pre{padding:var(--space-4);background:rgb(var(--black));color:#fff;border-radius:2px;overflow-x:auto}pre>code{background:0 0;padding:0}blockquote{margin:var(--space-5) 0;padding:0 0 0 var(--space-4);border-left:3px solid var(--accent);font-size:1.25em}hr{border:0;border-top:1px solid var(--line)}@media (width<=900px){.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.process-flow{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=800px){main{width:min(var(--content-width), calc(100% - 2rem))}main>section{padding:var(--space-8) 0}.hero{min-height:calc(100vh - 4.5rem);padding:var(--space-7) 0}.hero h1{margin-bottom:var(--space-5)}.hero-description{font-size:1.15rem}.project-grid{grid-template-columns:1fr}.project-card{min-height:0}.process-flow{grid-template-columns:1fr;gap:0}.process-step{padding:var(--space-3) 0;border-top:0;border-bottom:1px solid var(--line)}.contact{padding-top:var(--space-8)}}@media (width<=520px){body{font-size:17px}main{width:min(var(--content-width), calc(100% - 1.5rem))}main>section{padding:var(--space-7) 0}.hero{min-height:calc(100vh - 7rem);padding:var(--space-6) 0}h1{font-size:clamp(3rem,15vw,5rem)}h2{font-size:clamp(2.2rem,11vw,3.5rem)}.hero-description{font-size:1.1rem}.problem p{font-size:1.05rem}.process>div>p{font-size:1rem}.contact h2{font-size:clamp(2.8rem,13vw,4.5rem)}.contact p:last-of-type{font-size:1.25rem}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (prefers-color-scheme:dark){:root:not([data-theme]){--accent:#6fa59d;--accent-dark:#8bbab3;--black:235, 237, 236;--gray:161, 168, 166;--gray-light:58, 64, 63;--gray-dark:213, 217, 215;--paper:#181b1a;--surface:#202524;--line:#343b39;--muted:#a1a8a6}.project-card,.service-card{background:var(--surface)}}footer[data-astro-cid-jo6i4kqk]{padding:2rem max(1rem, calc((100vw - var(--content-width)) / 2));border-top:1px solid var(--line);background:var(--paper);color:rgb(var(--gray))}.footer-content[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.copyright[data-astro-cid-jo6i4kqk]{margin:0;font-size:.8rem}nav[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:flex-end;gap:.5rem 1.25rem;display:flex}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:rgb(var(--gray-dark));text-underline-offset:.2em;font-size:.88rem;font-weight:700}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent-dark)}@media (width<=620px){.footer-content[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:flex-start;gap:.75rem}nav[data-astro-cid-jo6i4kqk]{justify-content:flex-start}}a[data-astro-cid-evkijfd6]{text-decoration:none;display:inline-block}a[data-astro-cid-evkijfd6].active{font-weight:bolder;text-decoration:underline}header[data-astro-cid-nen7h5rs]{padding:0 max(1rem, calc((100vw - var(--content-width)) / 2));background:var(--paper);border-bottom:1px solid var(--line);margin:0;position:relative}nav[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:2rem;min-height:4.5rem;display:flex}.site-name[data-astro-cid-nen7h5rs]{color:rgb(var(--black));letter-spacing:-.01em;font-size:1rem;font-weight:700;text-decoration:none}.site-name[data-astro-cid-nen7h5rs]:hover{color:rgb(var(--black))}.internal-links[data-astro-cid-nen7h5rs]{flex-wrap:wrap;justify-content:flex-end;gap:.25rem 1.25rem;display:flex}.internal-links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:rgb(var(--gray-dark));padding:.4rem 0;font-size:.88rem;font-weight:600;text-decoration:none}.internal-links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.internal-links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs].active{color:var(--accent-dark);underline:2px solid var(--accent)}.internal-links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs].active{border-bottom:2px solid var(--accent)}.theme-toggle[data-astro-cid-nen7h5rs]{border:1px solid var(--line);background:var(--surface);width:2.35rem;height:2.35rem;color:var(--accent-dark);cursor:pointer;border-radius:999px;flex:none;place-items:center;padding:0;transition:background-color .16s,border-color .16s,color .16s;display:grid}.theme-toggle[data-astro-cid-nen7h5rs]:hover,.theme-toggle[data-astro-cid-nen7h5rs]:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--paper)}.theme-toggle[data-astro-cid-nen7h5rs]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.theme-toggle-icon[data-astro-cid-nen7h5rs]{font-size:1.15rem;line-height:1;display:block}.theme-icon-sun[data-astro-cid-nen7h5rs]{display:none}.theme-icon-moon[data-astro-cid-nen7h5rs],.theme-toggle[data-astro-cid-nen7h5rs][data-theme=dark] .theme-icon-sun[data-astro-cid-nen7h5rs]{display:inline}.theme-toggle[data-astro-cid-nen7h5rs][data-theme=dark] .theme-icon-moon[data-astro-cid-nen7h5rs]{display:none}@media (width<=620px){nav[data-astro-cid-nen7h5rs]{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem 0}.internal-links[data-astro-cid-nen7h5rs]{justify-content:flex-start;width:100%}.theme-toggle[data-astro-cid-nen7h5rs]{position:absolute;top:1rem;right:1rem}}
