@import "https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,500&display=swap";:root{--font-sans:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Source Serif 4", Georgia, serif;--body-text:1.05rem;--body-text-leading:1.55;--background:#f3eadf;--surface:#fbf7f1;--text:#211e1b;--muted:#68615a;--border:#ddd6cc;--chestnut:#8f4935;--chestnut-dark:#542c22;--copper:#bd6945;--leaf:#59634a;--leaf-strong:#46563d;--page-width:72rem;--reading-width:58rem;--space-section:5rem;--space-section-content:4rem;--space-section-after-panel:5rem;--text-xs:.75rem;--text-sm:.875rem;--text-body:1.05rem;--text-card:1.25rem;--text-work:1.5rem;--text-section:2.75rem;--leading-tight:1.05;--leading-heading:1.1;--leading-body:1.55}*{box-sizing:border-box}html{font-family:var(--font-sans);background:var(--background);color:var(--text)}body{margin:0}h1,h2,h3{color:var(--chestnut-dark)}::selection{background:var(--leaf-strong);color:var(--background)}:focus-visible{outline:2px solid var(--leaf-strong);outline-offset:3px}.site-footer :focus-visible{outline-color:var(--background)}.container{width:min(calc(100% - 3rem), var(--page-width));margin-inline:auto}.section-eyebrow{font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;margin:0 0 1.25rem;font-weight:700;line-height:1}.section-eyebrow-green{color:var(--leaf-strong)}.footer-contact a{--underline-color:var(--copper);background-image:linear-gradient(var(--underline-color), var(--underline-color)), linear-gradient(color-mix(in srgb, var(--underline-color) 35%, transparent), color-mix(in srgb, var(--underline-color) 35%, transparent));background-position:0 100%,0 100%;background-repeat:no-repeat;background-size:0% 2px,100% 1px;padding-bottom:.2em;text-decoration:none;transition:background-size .16s,color .16s}.footer-contact a:hover,.footer-contact a:focus-visible{background-size:100% 2px,100% 1px}.cta,.site-header nav a{--button-hover:color-mix(in srgb, var(--leaf-strong) 80%, var(--text));border:2px solid var(--leaf-strong);border-radius:.5rem;padding:.75rem 1.25rem;font-weight:650;line-height:1.3;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s;display:inline-block}.cta{background:var(--leaf-strong);color:var(--background)}.cta:hover{background:var(--button-hover);border-color:var(--button-hover)}.site-header{padding-top:2.25rem}.site-header-inner{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:2rem;padding-bottom:2.25rem;display:flex}.brand{flex-shrink:0;display:inline-flex}.brand img{width:clamp(12.5rem,24vw,17.5rem);height:auto;display:block}.site-header nav a{color:var(--leaf-strong);font-size:var(--text-body);padding:.5rem 1.1rem}.site-header nav a:hover{background:var(--leaf-strong);color:var(--background)}@media (width<=520px){.brand img{width:11rem}.site-header nav a{padding:.4rem .85rem}}@media (width<=360px){.brand img{width:10.5rem}}.hero{padding-top:3.5rem}.hero h1{letter-spacing:-.04em;max-width:58rem;margin:0;font-size:clamp(3rem,7vw,4rem);line-height:.98}.hero-intro{max-width:58rem;font-size:var(--text-card);line-height:1.65}.hero-copy{max-width:var(--reading-width);font-family:var(--font-serif)}.capabilities,.about{padding-top:var(--space-section)}.capabilities-intro{max-width:var(--reading-width);margin-top:2.5rem;margin-bottom:var(--space-section-content);font-family:var(--font-serif);font-size:var(--text-card);line-height:1.68}.capabilities-intro p,.about-copy p{margin:0}.capabilities-intro p+p,.about-copy p+p{margin-top:1.25rem}.capabilities-title,.about-title{font-family:var(--font-sans);letter-spacing:-.03em;margin:1.25rem 0;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1}.capabilities-grid{background:var(--surface);border-top:4px solid var(--copper);border-radius:1rem;grid-template-columns:repeat(3,1fr);gap:0;margin-top:0;display:grid;overflow:hidden}.capability{padding:2.75rem 3rem 3rem;line-height:1.6}.capability+.capability{border-left:1px solid var(--border)}.capability-label{color:var(--leaf-strong);align-items:center;gap:.65rem;margin-bottom:2rem;font-weight:700;display:flex}.capability-label span{margin:0}.capability-icon{width:3rem;height:1.8rem;color:var(--leaf-strong);flex:none}.capability-icon path{fill:none;stroke:currentColor}.capability-icon circle{stroke:currentColor}.capability h3{font-size:var(--text-card);margin:0 0 1.5rem;line-height:1.25}.capability-copy{font-family:var(--font-serif);font-size:var(--text-card);line-height:1.65}.capability-copy p{margin:0}.capability-copy p+p{margin-top:1.25rem}@media (width<=800px){.capabilities-grid{grid-template-columns:1fr}.capability+.capability{border-left:0;border-top:1px solid var(--border)}}.selected-work{padding-top:var(--space-section-after-panel)}.selected-work-intro{max-width:760px;margin-bottom:3.5rem}.selected-work-intro h2{max-width:700px;font-family:var(--font-sans);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3.5rem);font-weight:700;line-height:.98}.selected-work-items{flex-direction:column;display:flex}.work-item{border-top:1px solid color-mix(in srgb, var(--leaf) 20%, transparent);grid-template-columns:220px minmax(0,700px);gap:3rem;padding:3.5rem 0;display:grid}.work-item:last-child{border-bottom:1px solid color-mix(in srgb, var(--leaf) 20%, transparent)}.work-item-marker{align-self:start;align-items:center;gap:0;padding-top:.7rem;display:flex}.work-item-number{width:3rem;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--leaf);flex:0 0 3rem;font-weight:700}.work-item-line{background-color:var(--leaf-strong);flex:0 0 90px;width:90px;height:3px;display:block}.work-item-node{background-color:var(--copper);border-radius:50%;flex:0 0 11px;width:11px;height:11px;margin-left:-1px;display:block}.work-item-content h3{font-family:var(--font-sans);letter-spacing:-.025em;margin:0 0 1.5rem;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;line-height:1.08}.work-item-content>p:not(.work-item-meta){max-width:680px;font-family:var(--font-serif);font-size:var(--text-card);color:var(--text);margin:0;line-height:1.65}.work-item-meta{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--leaf);flex-wrap:wrap;gap:.4rem .65rem;margin:1.75rem 0 0;font-weight:600;line-height:1.4;display:flex}.work-item-meta span{color:var(--copper)}@media (width<=760px){.selected-work{padding-block:3.5rem 0}.selected-work-intro{margin-bottom:3.5rem}.work-item{grid-template-columns:1fr;gap:1.5rem;padding:3.25rem 0}.work-item-line{flex-basis:60px;width:60px}.work-item-content>p:not(.work-item-meta){font-size:var(--text-body)}}.site-footer{margin-top:var(--space-section);background:var(--chestnut-dark);color:var(--background);padding-block:2.5rem 1.5rem}.footer-rule{opacity:.25;background:currentColor;width:100%;height:1px;margin-bottom:2.5rem}.footer-content{justify-content:space-between;align-items:center;gap:4rem;display:flex}.footer-brand{flex-direction:column;align-items:flex-start;gap:.75rem;max-width:32rem;display:flex}.footer-logo{width:clamp(11rem,16vw,13rem);height:auto;display:block}.footer-brand a{text-decoration:none;display:inline-block}.footer-tagline{margin:0}.footer-brand,.footer-contact{flex-direction:column;gap:.75rem;display:flex}.footer-contact-link{font-size:var(--text-section)}.footer-brand p,.footer-contact p{font-family:var(--font-serif);font-size:var(--text-body);margin:0}.footer-brand p{line-height:1.5}.footer-contact a{--underline-color:currentColor;color:inherit;font-family:var(--font-sans);font-size:var(--text-card);align-self:flex-start;margin:0;font-weight:700}.footer-meta{border-top:1px solid color-mix(in srgb, currentColor 25%, transparent);text-align:center;font-family:var(--font-sans);font-size:var(--text-sm);margin-top:3rem;padding-top:1rem;line-height:1.4}.footer-meta span{opacity:.7}@media (width<=700px){.site-footer{margin-top:3rem;padding-block:2rem 1.25rem}.footer-rule{margin-bottom:1.75rem}.footer-content,.footer-meta{flex-direction:column}.footer-content{align-items:flex-start;gap:1rem}.footer-contact{text-align:left}.footer-meta{gap:.5rem;margin-top:2rem}}@keyframes rise-in{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:none}}@keyframes draw-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pop-node{0%{transform:scale(0)}60%{transform:scale(1.35)}to{transform:scale(1)}}:root{--ease-out:cubic-bezier(.2, .7, .2, 1);--reveal-duration:1.1s}@media (prefers-reduced-motion:no-preference){.hero h1,.hero-intro,.hero .cta{animation:rise-in var(--reveal-duration) var(--ease-out) both}.hero-intro:first-child{animation-delay:.25s}.hero-intro:nth-child(2){animation-delay:.45s}.hero .cta{animation-delay:.7s}}.motion .capabilities-intro>*,.motion .capability,.motion .selected-work-intro>*,.motion .work-item-content{opacity:0}.motion .work-item-line{transform-origin:0;transform:scaleX(0)}.motion .work-item-node{transform:scale(0)}.motion .is-visible{animation:rise-in var(--reveal-duration) var(--ease-out) both}.motion .capabilities-intro>:nth-child(2).is-visible,.motion .selected-work-intro>:nth-child(2).is-visible{animation-delay:.15s}.motion .capabilities-intro>:nth-child(3).is-visible{animation-delay:.3s}.motion .capability:nth-child(2).is-visible{animation-delay:.35s}.motion .capability:nth-child(3).is-visible{animation-delay:.7s}.motion .work-item.is-visible{animation:none}.motion .work-item.is-visible .work-item-line{animation:draw-line .7s var(--ease-out) both}.motion .work-item.is-visible .work-item-node{animation:pop-node .45s var(--ease-out) .6s both}.motion .work-item.is-visible .work-item-content{animation:rise-in var(--reveal-duration) var(--ease-out) .3s both}.about-body{margin-top:2.5rem;margin-bottom:var(--space-section-content);gap:2rem;display:grid}@media (width>=48rem){.about-body:has(.about-photo){grid-template-columns:15rem 1fr;align-items:start;gap:3.5rem}}.about-photo{aspect-ratio:1;object-fit:cover;border-radius:1rem;width:100%;max-width:15rem;height:auto}.about-copy{max-width:var(--reading-width);font-family:var(--font-serif);font-size:var(--text-card);line-height:1.68}.about-link{font-family:var(--font-sans);color:var(--chestnut);text-underline-offset:.2em;margin-top:1.75rem;font-size:1rem;font-weight:600;text-decoration:underline;display:inline-block}.about-link:after{content:" →"}
