@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/fonts/archivo-latin.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}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/fonts/archivo-latin-ext.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}:root{--paper:#f4f6f3;--paper-2:#e7ece8;--white:#fff;--ink:#17202b;--slate:#56626a;--rule:#d3d9d4;--spruce:#1e4a40;--spruce-deep:#163831;--nosing:#f0c419;--error:#a4262c;--font:"Archivo", "Helvetica Neue", Arial, sans-serif;--step--1:.875rem;--step-0:1.125rem;--step-1:1.5rem;--step-2:2rem;--step-3:2.666rem;--step-4:3.555rem;--measure:66ch;--gutter:clamp(1.25rem, 4vw, 3rem);--section:clamp(3.5rem, 8vw, 7rem);--tread:clamp(1.1rem, 6.5vw, 6.5rem);--radius:2px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:6rem}body{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--step-0);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-stretch:100%;line-height:1.55}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.15}p{margin:0 0 1em}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px var(--nosing)}.site-footer :focus-visible{outline-color:var(--nosing);box-shadow:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:.75rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.container{width:100%;max-width:80rem;padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section)}.section+.section{padding-top:0}.section-heading{font-size:var(--step-2);letter-spacing:-.01em;margin-bottom:1.25rem;font-stretch:115%}.plain-list{margin:0;padding:0;list-style:none}.button{border:2px solid var(--ink);border-radius:var(--radius);min-height:3rem;font:inherit;font-size:var(--step-0);cursor:pointer;justify-content:center;align-items:center;gap:.5em;padding:.75em 1.4em;font-weight:650;line-height:1.1;text-decoration:none;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.button--primary{background:var(--ink);color:var(--paper)}.button--primary:hover{background:var(--spruce);border-color:var(--spruce)}.button--secondary{color:var(--ink);background:0 0}.button--secondary:hover{background:var(--ink);color:var(--paper)}.button--nosing{background:var(--nosing);border-color:var(--nosing);color:var(--ink)}.button--nosing:hover{background:var(--paper);border-color:var(--paper)}.button:disabled{opacity:.6;cursor:progress}.text-link{text-decoration:underline;-webkit-text-decoration-color:var(--nosing);text-decoration-color:var(--nosing);font-weight:650;text-decoration-thickness:3px}.site-header{z-index:50;background:color-mix(in srgb, var(--paper) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);position:sticky;top:0}.site-header__inner{max-width:80rem;padding:.9rem var(--gutter);justify-content:space-between;align-items:center;gap:1.5rem;margin-inline:auto;display:flex}.wordmark{align-items:baseline;gap:.4em;line-height:1;text-decoration:none;display:inline-flex}.wordmark__name{letter-spacing:.02em;font-size:1.35rem;font-weight:800;font-stretch:125%}.wordmark__suffix{color:var(--slate);font-size:1rem}.wordmark__logo{width:auto;height:2.25rem}.wordmark--inverted .wordmark__suffix{color:color-mix(in srgb, var(--paper) 75%, transparent)}.nav__toggle{display:none}.nav__list{gap:clamp(1rem,3vw,2.25rem);margin:0;padding:0;list-style:none;display:flex}.nav__link{padding-block:.4rem;font-weight:550;text-decoration:none;display:inline-block}.nav__link:hover,.nav__link[aria-current=page]{text-decoration:underline;-webkit-text-decoration-color:var(--nosing);text-decoration-color:var(--nosing);text-underline-offset:.35em;text-decoration-thickness:3px}.nav__link[aria-current=page]{font-weight:700}@media (max-width:47.99rem){.nav__toggle{border:2px solid var(--ink);border-radius:var(--radius);min-height:2.75rem;font:inherit;color:var(--ink);cursor:pointer;background:0 0;padding:.5rem 1rem;font-weight:650;display:inline-flex}.nav__list{padding:.5rem var(--gutter) 1.5rem;background:var(--paper);border-bottom:1px solid var(--rule);flex-direction:column;gap:0;display:none;position:absolute;inset:100% 0 auto}.nav__list[data-open=true]{display:flex}.nav__link{font-size:var(--step-1);border-bottom:1px solid var(--rule);padding-block:.9rem;font-stretch:115%;display:block}}.hero-stairs{max-width:80rem;padding:clamp(3rem, 9vw, 7.5rem) var(--gutter) var(--section);margin-inline:auto}.hero-stairs__heading{letter-spacing:-.015em;font-size:clamp(2.1rem,5.3vw,4.75rem);font-weight:780;font-stretch:125%;line-height:1}.hero-stairs__step{margin-left:calc(var(--step) * var(--tread));border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);animation:.52s cubic-bezier(.2,.7,.2,1) both step-in;animation-delay:calc(var(--step) * .11s);padding:.18em 0 .16em .28em;display:block;position:relative}.hero-stairs__step:after{content:"";background:var(--nosing);width:max(1.4rem,.9em);height:.16em;min-height:6px;animation:.3s ease-out both nosing-in;animation-delay:calc(var(--step) * .11s + .38s);position:absolute;bottom:-2px;left:-2px}.hero-stairs__text{display:block}.hero-stairs__landing{margin-left:calc(var(--step) * var(--tread));animation:.52s cubic-bezier(.2,.7,.2,1) both step-in;animation-delay:calc(var(--step) * .11s);flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;padding:1.75rem 0 0 .28rem;display:flex}.hero-stairs__intro{max-width:40ch;font-size:var(--step-1);color:var(--slate);margin:0;line-height:1.35}@keyframes step-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes nosing-in{0%{transform-origin:0;transform:scaleX(0)}to{transform-origin:0;transform:scaleX(1)}}@media (max-width:40rem){.hero-stairs__landing{margin-left:0}}@media (prefers-reduced-motion:reduce){.hero-stairs__step,.hero-stairs__step:after,.hero-stairs__landing{animation:none}}.page-hero{padding:clamp(3rem,7vw,6rem) 0 clamp(2rem,5vw,3.5rem)}.page-hero__inner{max-width:80rem;padding-inline:var(--gutter);flex-direction:column;align-items:flex-start;gap:1.25rem;margin-inline:auto;display:flex}.page-hero__heading{letter-spacing:-.015em;border-bottom:2px solid var(--ink);width:100%;padding-bottom:.3em;font-size:clamp(2.2rem,5.2vw,4.25rem);font-weight:780;font-stretch:125%;line-height:1.02;position:relative}.page-hero__heading:after{content:"";background:var(--nosing);width:1.4rem;height:6px;position:absolute;bottom:-2px;left:0}.page-hero__intro{max-width:52ch;font-size:var(--step-1);color:var(--slate);margin:0;line-height:1.4}.page-hero+.section{padding-top:clamp(1.5rem,4vw,3rem)}.not-found__actions{flex-wrap:wrap;gap:1rem;display:flex}.clients{border-block:1px solid var(--rule);padding-block:2rem}.clients+.section{padding-top:var(--section)}.clients__inner{flex-wrap:wrap;align-items:center;gap:1.25rem 3rem;display:flex}.clients__heading{font-size:var(--step-0);color:var(--slate);font-weight:550}.clients__list{flex-wrap:wrap;align-items:center;gap:1.5rem 3rem;margin:0;padding:0;list-style:none;display:flex}.clients__list a{text-decoration:none;display:block}.clients__logo{filter:grayscale()contrast(1.1);opacity:.8;width:auto;height:2.5rem;transition:filter .15s,opacity .15s}.clients__list a:hover .clients__logo{filter:none;opacity:1}.clients__name{font-size:var(--step-1);font-weight:700;font-stretch:120%}.about__grid{gap:2.5rem;display:grid}@media (min-width:60rem){.about__grid{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:5rem}.about__aside{align-self:start;position:sticky;top:7rem}}.about__services{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.about__services li{border-bottom:1px solid var(--rule)}.about__services a{padding-block:.8rem;font-weight:600;text-decoration:none;display:block}.about__services a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--nosing);text-decoration-color:var(--nosing);text-decoration-thickness:3px}.about__image{width:100%;margin-top:2rem}.prose{max-width:var(--measure)}.prose p{margin-bottom:1.1em}.prose strong{font-weight:700}.prose h2,.prose h3{margin:1.6em 0 .5em;font-stretch:112%}.prose h2{font-size:var(--step-1)}.prose h3{font-size:1.25rem}.prose ul,.prose ol{margin:0 0 1.1em;padding-left:1.2em}.prose a{-webkit-text-decoration-color:var(--spruce);text-decoration-color:var(--spruce)}.services__list{border-top:2px solid var(--ink);margin:0}.services__item{border-bottom:1px solid var(--rule);gap:.75rem;padding-block:2rem;display:grid}@media (min-width:56rem){.services__item{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem;padding-block:2.5rem}}.services__title{font-size:var(--step-2);font-weight:750;font-stretch:120%;line-height:1.1}.services__summary{max-width:56ch;margin:0;font-size:1.25rem;line-height:1.5}.projects__list{margin:0;padding:0;list-style:none}.project{border-top:2px solid var(--ink);gap:1.5rem;padding-block:2.5rem;display:grid}.project:last-child{border-bottom:1px solid var(--rule)}@media (min-width:56rem){.project{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:3rem}.project__media{grid-area:1/2/span 2}.project:has(.project__media) .project__scope{grid-column:1}}.project__client{font-size:var(--step-2);font-weight:750;font-stretch:120%;line-height:1.1}.project__site{-webkit-text-decoration-color:var(--nosing);text-decoration-color:var(--nosing);margin-top:.6rem;font-weight:600;text-decoration-thickness:3px;display:inline-block}.project__media img{border:1px solid var(--rule);width:100%}.project__scope-heading{font-size:var(--step-0);color:var(--slate);margin-bottom:.5rem;font-weight:650}.project__scope ul{margin:0 0 1.25rem;padding:0;list-style:none}.project__scope li{padding:.35rem 0 .35rem 1.25rem;position:relative}.project__scope li:before{content:"";border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);width:.55rem;height:.55rem;position:absolute;top:.95em;left:0}.case-list__items{gap:2.5rem;margin:0;padding:0;list-style:none;display:grid}@media (min-width:56rem){.case-list__items{grid-template-columns:repeat(3,minmax(0,1fr))}}.case-card__link{border-top:2px solid var(--ink);flex-direction:column;gap:.5rem;padding-top:1rem;text-decoration:none;display:flex}.case-card__image{width:100%;margin-bottom:.75rem}.case-card__client{font-size:var(--step--1);color:var(--slate);font-weight:600}.case-card__title{font-size:var(--step-1);font-stretch:115%}.case-card__link:hover .case-card__title{text-decoration:underline;-webkit-text-decoration-color:var(--nosing);text-decoration-color:var(--nosing);text-decoration-thickness:3px}.case-card__excerpt{color:var(--slate);margin:0}.empty-state{border-top:2px solid var(--ink);max-width:48ch;padding:2rem 0}.case-study__back{font-size:var(--step--1)}.case-study__meta{flex-wrap:wrap;gap:1rem 3rem;margin:.5rem 0 0;display:flex}.case-study__meta dt,.case-study__figures dt{font-size:var(--step--1);color:var(--slate)}.case-study__meta dd{margin:0;font-weight:600}.case-study__cover img{width:100%}.case-study__figures dl{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:2rem;margin:3rem 0 0;display:grid}.case-study__figures div{border-top:2px solid var(--ink);flex-direction:column-reverse;padding-top:.75rem;display:flex}.case-study__figures dd{font-size:var(--step-3);margin:0;font-weight:780;font-stretch:125%;line-height:1}.case-study__body{padding-block:var(--section);gap:3rem;display:grid}.contact__grid{gap:3rem;display:grid}@media (min-width:60rem){.contact__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:5rem}.contact__company{grid-column:1/-1}}.contact__response{font-weight:600}.contact__channels{align-content:start;gap:2rem;display:grid}.channel{border-top:2px solid var(--ink);padding-top:.9rem}.channel__label{font-size:var(--step-0);color:var(--slate);margin-bottom:.3rem;font-weight:550}.channel__value{font-size:clamp(1.5rem, 3vw, var(--step-2));overflow-wrap:anywhere;font-weight:750;font-stretch:118%;text-decoration:none}.channel__value:hover{text-decoration:underline;-webkit-text-decoration-color:var(--nosing);text-decoration-color:var(--nosing);text-decoration-thickness:3px}.contact__company{background:var(--paper-2);padding:clamp(1.5rem,4vw,2.5rem)}.contact__company-heading{font-size:var(--step-1);margin-bottom:1.25rem;font-stretch:115%}.details{gap:.9rem 3rem;margin:0;display:grid}@media (min-width:40rem){.details{grid-template-columns:repeat(2,minmax(0,1fr))}}.details div{gap:.1rem;display:grid}.details dt{font-size:var(--step--1);color:var(--slate)}.details dd{margin:0;font-weight:600}.team__list{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:2rem;margin:0;padding:0;list-style:none;display:grid}.person{align-items:flex-start;gap:1.25rem;display:flex}.person__photo,.person__initials{object-fit:cover;flex:none;width:5.5rem;height:5.5rem}.person__initials{background:var(--spruce);color:var(--paper);font-size:var(--step-1);place-items:center;font-weight:800;font-stretch:125%;display:grid}.person__name{font-size:var(--step-1);font-stretch:115%}.person__role{color:var(--slate);margin:.15rem 0 .4rem}.person a{font-weight:600;display:block}.ideas{background:var(--paper-2)}.section+.ideas.section{padding-top:var(--section)}.ideas__grid{gap:2.5rem;display:grid}@media (min-width:60rem){.ideas__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:5rem}}.ideas__intro p{max-width:40ch;color:var(--slate)}.ideas__image{margin-top:1.5rem}.form{justify-items:start;gap:1.25rem;display:grid}.form>.field,.form__row{width:100%}.form__row{gap:1.25rem;display:grid}@media (min-width:40rem){.form__row{grid-template-columns:1fr 1fr}}.form__trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.field{gap:.35rem;display:grid}.field__label{font-weight:650}.field__hint{font-size:var(--step--1);color:var(--slate)}.field input,.field textarea,.subscribe input{width:100%;font:inherit;color:var(--ink);background:var(--white);border:1.5px solid var(--slate);border-radius:var(--radius);padding:.75rem .85rem}.field textarea{resize:vertical;min-height:9rem}.field input:focus-visible,.field textarea:focus-visible{border-color:var(--ink)}.field--error input,.field--error textarea{border-color:var(--error);border-width:2px}.field__error{color:var(--error);font-size:var(--step--1);font-weight:600}.form-status{background:var(--white);border-left:6px solid;max-width:56ch;margin:0;padding:1rem 1.25rem}.form-status--error{border-color:var(--error);color:var(--error);font-weight:600}.form-status--success{border-color:var(--nosing);font-size:var(--step-1);line-height:1.4}.content__inner{max-width:52rem}.cta__inner{border-top:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem 3rem;padding-top:2rem;display:flex}.cta__heading{font-size:var(--step-2);font-stretch:118%}.cta__text{max-width:48ch;color:var(--slate);margin:.5rem 0 0}.site-footer{background:var(--spruce);color:var(--paper)}.site-footer a{color:var(--paper)}.site-footer__inner{max-width:80rem;padding:clamp(3rem, 6vw, 5rem) var(--gutter) 2rem;gap:3rem;margin-inline:auto;display:grid}.site-footer__tagline{max-width:34ch;color:color-mix(in srgb, var(--paper) 80%, transparent);margin:.75rem 0 0}.site-footer__cols{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:2.25rem;display:grid}@media (min-width:64rem){.site-footer__cols{grid-template-columns:1fr 1fr .8fr 1.6fr}}.site-footer__heading{font-size:var(--step-0);border-bottom:1px solid color-mix(in srgb, var(--paper) 30%, transparent);margin-bottom:.75rem;padding-bottom:.5rem;font-weight:700}.site-footer .plain-list li{padding-block:.2rem}.site-footer__note{font-size:var(--step--1);color:color-mix(in srgb, var(--paper) 80%, transparent)}.subscribe__row{gap:.5rem;display:flex}.subscribe input{border-color:#0000;min-width:0}.subscribe__error{color:var(--nosing);font-weight:600;font-size:var(--step--1);margin:.5rem 0 0}.subscribe__done{font-weight:600}.site-footer__legal{border-top:1px solid color-mix(in srgb, var(--paper) 30%, transparent);font-size:var(--step--1);color:color-mix(in srgb, var(--paper) 75%, transparent);margin:0;padding-top:1.5rem}
