:root{--bg: #ffffff;--text: #1c1c1c;--muted: #5f5f5f;--accent: #2f5d50;--line: #e4e2dc;--placeholder: #f1efea;--max-width: 60rem;--measure: 38rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-size:1.0625rem;line-height:1.6}img{display:block;max-width:100%;height:auto}a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.25rem}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:10;padding:.5rem 1rem;background:var(--text);color:#fff}.skip-link:focus{top:1rem}.site-header{padding:2rem 0 1rem;border-bottom:1px solid var(--line)}.site-name{display:inline-flex;align-items:center;min-height:44px;font-size:1.25rem;font-weight:600;color:var(--text);text-decoration:none}.nav-list{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin:.5rem 0 0;padding:0;list-style:none}.nav-list a{display:inline-flex;align-items:center;min-height:44px;color:var(--text);text-decoration:none}.nav-list a:hover{text-decoration:underline}.nav-list a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}.site-footer{padding:1.5rem 0 2.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9375rem}main{padding:2.5rem 0 4rem}h1{margin:0 0 1rem;font-size:clamp(2rem,5vw,2.875rem);font-weight:600;line-height:1.15;letter-spacing:-.01em}h2{margin:2.5rem 0 .75rem;font-size:1.5rem;font-weight:600;line-height:1.25}h3{margin:1.75rem 0 .5rem;font-size:1.125rem;font-weight:600}p,ul,ol{max-width:var(--measure)}.lead{font-size:1.25rem}.muted{color:var(--muted)}.eyebrow{margin:0 0 .5rem;color:var(--muted);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase}.page-intro{max-width:var(--measure);margin-bottom:2rem}.section-list{padding:0;list-style:none}.section-list li{padding:1rem 0;border-top:1px solid var(--line)}.section-list li:last-child{border-bottom:1px solid var(--line)}.back-link{margin-bottom:1.5rem}.button,.button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem 1.25rem;border:1px solid var(--accent);border-radius:4px;font:inherit;text-decoration:none;cursor:pointer}.button{background:var(--accent);color:#fff}.button-secondary{background:#fff;border-color:#8a8a8a;color:var(--text)}.project-grid{display:grid;gap:2rem 1.5rem;margin:0;padding:0;list-style:none;grid-template-columns:1fr}@media(min-width:40rem){.project-grid{grid-template-columns:repeat(2,1fr)}}.project-card{display:block;color:var(--text);text-decoration:none}.project-card:hover .card-title{text-decoration:underline;text-underline-offset:4px}.project-card img,.project-card .placeholder{width:100%;aspect-ratio:4 / 3;object-fit:cover}.card-title{margin:.875rem 0 .25rem;font-size:1.1875rem}.card-summary{margin:0;color:var(--muted)}.placeholder{display:flex;align-items:center;justify-content:center;border:1px dashed #cfcac0;background:var(--placeholder);color:var(--muted);font-size:.9375rem}.project h1,.project-dialog h2{margin-top:.25rem}.project>img,.project>.placeholder{margin:1.5rem 0;width:100%;aspect-ratio:4 / 3;object-fit:cover}.details{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1.25rem;max-width:var(--measure);margin:1.5rem 0;font-size:.9375rem}.details dt{color:var(--muted)}.details dd{margin:0}.project-dialog{width:min(56rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);margin:auto;padding:0;border:0;border-radius:6px;background:var(--bg);color:var(--text);box-shadow:0 20px 60px #00000040}.project-dialog::backdrop{background:#1414148c}.dialog-inner{max-height:calc(100dvh - 2rem);overflow-y:auto;padding:0 1.75rem 1.75rem}.dialog-close-form{position:sticky;top:0;z-index:1;display:flex;justify-content:flex-end;padding:1rem 0 .5rem;background:var(--bg)}.dialog-open{overflow:hidden}@media(max-width:40rem){.project-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.dialog-inner{max-height:100dvh;padding:0 1.25rem calc(1.5rem + env(safe-area-inset-bottom))}.dialog-close-form{padding-top:calc(1rem + env(safe-area-inset-top))}}.field{max-width:var(--measure);margin-bottom:1.25rem}.field label{display:block;margin-bottom:.375rem;font-weight:600}.field input,.field textarea{width:100%;padding:.7rem .8rem;border:1px solid #8a8a8a;border-radius:4px;background:#fff;color:var(--text);font:inherit}.field input{min-height:44px}.note{color:var(--muted);font-size:.9375rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
