@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(/_astro/instrument-sans-latin-ext-wdth-normal.C5E2Gvlv.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(/_astro/instrument-sans-latin-wdth-normal.BVScPF0l.woff2)format("woff2-variations");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}:root{color-scheme:light dark;--bg:#fafaf6;--ink:#0f1f1a;--muted:#53615b;--line:#d8ddd3;--strong-line:#0f1f1a;--accent:#17543f;--mark:#d6f58a;--band:#0f3229;--band-ink:#f1f6ee;--band-muted:#b5c9bd;--band-line:#2b5145;--lime:#d6f58a;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;color:var(--ink);background:var(--bg);font-synthesis:none;-webkit-text-size-adjust:100%;font-family:Instrument Sans Variable,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0c1613;--ink:#e8eee8;--muted:#9fada6;--line:#25352f;--strong-line:#e8eee8;--accent:#c4ea85;--mark:transparent;--band:#122a23}.hero h1 em{color:var(--accent)}}*,:before,:after{box-sizing:border-box}body{margin:0;font-size:1.0625rem;line-height:1.6}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}h1,h2,h3,p,dl,dd,ol,ul{margin:0}h1,h2{letter-spacing:-.022em;text-wrap:balance;font-weight:650;font-stretch:82%;line-height:1.02}h1{font-size:clamp(2.6rem,6.1vw,5.25rem)}h2{font-size:clamp(2rem,3.6vw,3rem)}h3{letter-spacing:-.015em;font-size:1.2rem;font-weight:640;line-height:1.25}p,dd{color:var(--muted);text-wrap:pretty}svg{flex:none}::selection{background:var(--lime);color:#0f1f1a}.wrap{width:min(100% - 5rem,1180px);margin-inline:auto}.section{padding-block:clamp(3.5rem,7vw,6.5rem)}.label{font:500 .76rem/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.num{font:500 .8rem/1.9 var(--mono);color:var(--accent)}.skip{z-index:3;background:var(--bg);padding:.65rem 1rem;position:absolute;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip:focus{transform:translateY(0)}.header-inner{justify-content:space-between;align-items:center;gap:1rem 2rem;min-height:76px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:.6rem;font-size:1.05rem;font-weight:680;text-decoration:none;display:inline-flex}.brand-mark{background:var(--lime);border:1.5px solid var(--ink);width:.72rem;height:.72rem}.site-header nav,.site-footer nav{flex-wrap:wrap;align-items:center;gap:.2rem clamp(1rem,2.4vw,2rem);display:flex}.site-header nav a,.site-footer nav a{align-items:center;min-height:44px;font-size:.95rem;font-weight:520;text-decoration:none;display:inline-flex}.site-header nav a:hover,.site-footer nav a:hover{text-decoration:underline}.site-header nav a[aria-current=page]{text-decoration:underline 2px;text-decoration-color:var(--accent)}.site-header .contact-link{background:var(--ink);min-height:38px;color:var(--bg);border-radius:999px;padding:0 .95rem}.site-header .contact-link:hover{background:var(--accent);text-decoration:none}.site-header .language-link{font:500 .8rem var(--mono);letter-spacing:.06em;color:var(--muted)}.site-footer{background:var(--band);color:var(--band-ink);border-top:1px solid var(--band-line);padding-block:2.5rem 3rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem 3rem;display:flex}.site-footer .brand-mark{border-color:var(--lime)}.site-footer p{color:var(--band-muted);margin-top:.5rem;font-size:.92rem}.site-footer a:focus-visible,.contact-band a:focus-visible{outline-color:var(--lime)}.site-footer .footer-email{min-height:44px;color:var(--lime);overflow-wrap:anywhere;align-items:center;font-size:.95rem;display:inline-flex}.hero{border-bottom:1px solid var(--line);padding-block:clamp(2.5rem,6vw,5.5rem) clamp(3rem,6vw,5rem)}.hero-grid{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:end;gap:clamp(2rem,6vw,5.5rem);display:grid}.hero h1{margin-top:1.4rem}.hero h1 span{display:block}.hero h1 em{background:linear-gradient(var(--mark), var(--mark)) 0 88% / 100% .34em no-repeat;font-style:normal}.lead{max-width:39rem;margin-top:1.6rem;font-size:clamp(1.1rem,1.5vw,1.25rem);line-height:1.55}.actions{flex-wrap:wrap;align-items:center;gap:.6rem 1.6rem;margin-top:1.9rem;display:flex}.actions .text-link{margin-top:0}.button{background:var(--ink);min-height:50px;color:var(--bg);border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.7rem 1.35rem;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color .15s;display:inline-flex}.button:hover{background:var(--accent)}.button svg,.text-link svg,.rows.links svg,.related svg{transition:transform .15s}.button:hover svg,.text-link:hover svg{transform:translate(3px)}.facts dl>div{border-top:1px solid var(--line);padding-block:.8rem}.facts dl>div:first-child{border-top-color:var(--strong-line)}.facts dd{color:var(--ink);margin-top:.2rem;font-size:.98rem;line-height:1.45}.facts .text-link{margin-top:.4rem}.section-head{max-width:42rem;margin-bottom:clamp(1.8rem,3.5vw,3rem)}.section-head p{margin-top:.8rem;font-size:1.1rem}.text-link,.back-link{min-height:44px;color:var(--accent);align-items:center;gap:.45rem;font-weight:600;text-decoration:none;display:inline-flex}.text-link{margin-top:.5rem}.text-link:hover{text-decoration:underline}.footnote{max-width:46rem;margin-top:2rem;font-size:.95rem}.group{grid-template-columns:11rem minmax(0,1fr);gap:0 2rem;display:grid}.group+.group{margin-top:clamp(2rem,4vw,3.25rem)}.group>.label{padding-top:1.45rem}.rows{border-bottom:1px solid var(--line);padding:0;list-style:none}.rows>li{border-top:1px solid var(--line)}.rows>li:first-child{border-top-color:var(--strong-line)}.rows:not(.links)>li,.rows.links a{grid-template-columns:2.6rem minmax(0,1fr) minmax(0,1.35fr);align-items:start;gap:.3rem 1.5rem;padding-block:1.25rem;display:grid}.rows.links a{grid-template-columns:2.6rem minmax(0,1fr) minmax(0,1.35fr) 1.5rem;text-decoration:none}.row-title{letter-spacing:-.015em;color:var(--ink);font-size:clamp(1.2rem,1.9vw,1.5rem);font-weight:620;font-stretch:88%;line-height:1.2}.row-text{color:var(--muted)}.rows.links svg{color:var(--muted);margin-top:.2rem}.rows.links a:hover .row-title{color:var(--accent)}.rows.links a:hover svg{color:var(--accent);transform:translate(4px)}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem clamp(1.5rem,4vw,3.5rem);padding:0;list-style:none;display:grid}.steps li{border-top:1px solid var(--strong-line);padding-top:1rem}.steps h3{margin-top:.5rem;font-size:1.3rem}.steps p{margin-top:.5rem}.contact-band{background:var(--band);color:var(--band-ink);padding-block:clamp(3.5rem,7vw,6rem)}.contact-band .label,.contact-band p{color:var(--band-muted)}.contact-band h2{max-width:17ch;margin-top:1rem;font-size:clamp(2.3rem,5vw,4.25rem)}.contact-band p:not(.label){margin-top:1rem;font-size:1.15rem}.contact-band .actions{margin-top:2.2rem}.band-email{letter-spacing:-.015em;min-height:44px;color:var(--lime);text-underline-offset:.25em;overflow-wrap:anywhere;align-items:center;font-size:clamp(1.25rem,2.6vw,1.9rem);font-weight:600;text-decoration-thickness:2px;display:inline-flex}.band-email:hover{color:#fff}.contact-band .text-link{color:var(--band-ink)}.subhero{border-bottom:1px solid var(--line);padding-block:1.5rem clamp(2.5rem,5vw,4rem)}.back-link{color:var(--muted);margin-bottom:1.4rem}.back-link:hover{color:var(--accent)}.back-link svg{transform:rotate(180deg)}.subhero h1{max-width:18ch;font-size:clamp(2.5rem,5.6vw,4.6rem)}.subhero .lead{max-width:46rem}.detail-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,5.5rem);display:grid}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}.detail-content>h2{margin-bottom:1rem}.detail-content>h2.label{margin-bottom:.9rem}.detail-content>p{max-width:40rem}.detail-content>p+p{margin-top:.9rem}.detail-content>h2:not(:first-child){margin-top:2.75rem}.detail-content>p a{color:var(--accent)}.detail-content>.text-link{width:fit-content;display:flex}.detail-content>p+.text-link{margin-top:1.4rem}.detail-content>.text-link+.text-link{margin-top:0}.detail-content .rows:not(.links)>li{grid-template-columns:2.6rem minmax(0,1fr)}.detail-content .rows .row-text{grid-column:2}.link-row{border-top:1px solid var(--line);flex-wrap:wrap;gap:0 2rem;margin-top:2.25rem;padding-top:.6rem;display:flex}.sidebar{gap:2.25rem;display:grid}.info-card{border-top:1px solid var(--strong-line);padding-top:1.1rem}.info-card h2,.info-card h3{letter-spacing:-.015em;font-size:1.35rem;font-stretch:88%;line-height:1.2}.info-card h2+p,.info-card h3+p{margin-top:.6rem}.info-card .button{margin-top:1.2rem}.info-card .text-link{width:fit-content;display:flex}.service-availability,.business-data{margin-top:.9rem;font-size:.95rem}.email{overflow-wrap:anywhere}.related{border-block:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 2rem;margin-bottom:clamp(3rem,6vw,5rem);padding-block:1.75rem;display:flex}.related a{letter-spacing:-.015em;align-items:center;gap:.6rem;min-height:44px;font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:620;font-stretch:88%;text-decoration:none;display:inline-flex}.related a:hover{color:var(--accent)}.related a:hover svg{transform:translate(4px)}.split{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:start;gap:clamp(1.5rem,6vw,5.5rem);display:grid}.split .section-head{margin-bottom:0}.split .section-head .text-link{width:fit-content;display:flex}.split .section-head .text-link+.text-link{margin-top:0}.section+.section.split{padding-top:0}.issue-list article{border-top:1px solid var(--line);padding-block:1.2rem}.issue-list article:first-child{border-top-color:var(--strong-line)}.issue-list p{margin-top:.4rem}.experience{padding:0;list-style:none}.experience>li{border-bottom:1px solid var(--line);padding-block:.7rem;font-weight:560}.info-card .experience{margin-top:.5rem}.info-card .experience>li:last-child,.experience.info-card>li:last-child{border-bottom:0}.experience.info-card{padding-top:0}.tinted{border-top:1px solid var(--line)}.tinted .detail-content{max-width:40rem}.project-status{font:500 .76rem var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.check-list{border-bottom:1px solid var(--line);padding:0;list-style:none}.check-list li{border-top:1px solid var(--line);padding-block:.8rem}.check-list li:first-child{border-top-color:var(--strong-line)}.check-list+p{margin-top:1.2rem;font-size:.95rem}.prose{max-width:760px;margin-inline:max(2.5rem,50% - 590px) auto}.prose section+section{margin-top:2.25rem}.prose h2{margin-bottom:.7rem;font-size:clamp(1.45rem,3vw,1.8rem)}.prose p+p{margin-top:.7rem}.prose ul{color:var(--muted);margin-top:.7rem;padding-left:1.1rem}.prose a{color:var(--accent)}@media (width<=900px){.wrap{width:min(100% - 3rem,1180px)}.prose{margin-inline:1.5rem}.hero-grid,.detail-grid,.split{grid-template-columns:minmax(0,1fr)}.facts dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem;display:grid}.facts dl>div:nth-child(2){border-top-color:var(--strong-line)}.group{grid-template-columns:minmax(0,1fr)}.group>.label{padding-block:0 .8rem}.rows:not(.links)>li,.rows.links a{grid-template-columns:2.2rem minmax(0,1fr)}.rows.links a{grid-template-columns:2.2rem minmax(0,1fr) 1.5rem}.rows .row-text{grid-column:2}.rows.links svg{grid-area:1/3}.steps{grid-template-columns:minmax(0,1fr);gap:1.5rem}.contact-grid>:first-child{order:2}}@media (width<=640px){.wrap{width:calc(100% - 2.25rem)}.prose{margin-inline:1.125rem}.header-inner{flex-direction:column;align-items:flex-start;gap:0;padding-block:.9rem .4rem}.site-header nav{flex-wrap:nowrap;justify-content:space-between;gap:.5rem;width:100%}.site-header nav a{font-size:.9rem}.site-header .contact-link{padding-inline:.8rem}.facts dl{grid-template-columns:minmax(0,1fr)}.facts dl>div:nth-child(2){border-top-color:var(--line)}.button{width:100%}.info-card .button{width:auto}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
