:root{--navy:#001e41;--white:#f5f5f2;--pure-white:#fff;--black:#101214;--teal:#2a5f66;--olive:#4a5a2a;--oxide:#c1442e;--sand:#d8d2c2;--rule:#1012143d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--white);color:var(--black);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{padding-inline:clamp(1.25rem,4vw,4.5rem)}.box-logo{object-fit:contain;width:44px;height:44px}.site-header{background:var(--pure-white);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;height:86px;display:flex}.menu-toggle{display:none}.site-header nav{letter-spacing:.12em;text-transform:uppercase;gap:clamp(1.2rem,3vw,3rem);font-size:.66rem;font-weight:700;display:flex}.site-header nav a{border-bottom:1px solid #0000;padding-block:.5rem}.site-header nav a:hover{border-color:currentColor}.hero{background:var(--pure-white);align-items:center;min-height:calc(100svh - 86px);padding-top:clamp(3rem,4vw,4rem);padding-bottom:clamp(3rem,4vw,4rem);display:flex}.hero__copy{flex-direction:column;justify-content:flex-start;display:flex}.eyebrow,.section-label,.project__meta,.discipline-bar,.person>span,footer{letter-spacing:.14em;text-transform:uppercase;font-size:.65rem;font-weight:700}.eyebrow{color:#10121494;margin-bottom:clamp(1.75rem,2.5vw,2.75rem)}.hero h1{letter-spacing:-.065em;text-transform:uppercase;max-width:1000px;margin:0;font-family:Arial Narrow,Arial,sans-serif;font-size:clamp(4rem,7.4vw,7.25rem);font-weight:700;font-stretch:75%;line-height:.82}.hero__copy>p{color:#101214ad;max-width:590px;margin:1.75rem 0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.55}.line-link{border-top:1px solid var(--black);border-bottom:1px solid var(--black);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;width:min(360px,100%);padding:.85rem 0;font-size:.68rem;font-weight:700;display:flex}.intro{background:#eeeae2;padding-top:clamp(5rem,10vw,10rem);padding-bottom:clamp(5rem,10vw,10rem)}.section-label{border-bottom:1px solid var(--rule);color:#1012148c;padding-bottom:1.1rem}.intro__grid,.model__grid,.work__intro,.contact__grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);gap:clamp(3rem,10vw,10rem);padding-top:clamp(3rem,7vw,7rem);display:grid}h2{letter-spacing:-.055em;text-transform:uppercase;margin:0;font-family:Arial Narrow,Arial,sans-serif;font-size:clamp(3rem,6.5vw,6.8rem);font-weight:700;font-stretch:75%;line-height:.9}.intro__grid>div,.model__grid>div{align-self:end}.intro p,.model p,.work__intro p,.contact p{margin:0;font-size:1.04rem;line-height:1.65}.intro p+p,.model p+p{margin-top:1.2rem}.capabilities{background:#d8d2c2;grid-template-columns:repeat(3,1fr);padding-bottom:clamp(5rem,10vw,10rem);display:grid}.capability{min-height:430px;color:var(--white);grid-template-rows:auto 1fr;padding:1.5rem;display:grid}.capability--spark{background:#ff5b36}.capability--blue{background:#2468ff}.capability--green{background:#4d8b54}.capability__number{letter-spacing:.14em;font-size:.65rem;font-weight:700}.capability>div{grid-template-rows:auto minmax(9rem,auto);align-self:end;display:grid}.capability h3{letter-spacing:-.05em;text-transform:uppercase;margin:0 0 1.1rem;font-family:Arial Narrow,Arial,sans-serif;font-size:clamp(2.7rem,4.4vw,5rem);font-stretch:75%;line-height:.85}.capability p{color:#f5f5f2c2;max-width:360px;margin:0;line-height:1.55}.model{color:var(--white);background:#28343a;padding-top:clamp(5rem,9vw,9rem);padding-bottom:clamp(4rem,7vw,7rem)}.section-label--light{color:#f5f5f285;border-color:#f5f5f23d}.model__grid{padding-bottom:clamp(5rem,9vw,9rem)}.model__grid>div{color:#f5f5f2b3}.team{border-top:1px solid #f5f5f23d;grid-template-columns:repeat(4,1fr);display:grid}.person{flex-direction:column;min-height:220px;padding:1.25rem 1.5rem 1.25rem 0;display:flex}.person+.person{border-left:1px solid #f5f5f23d;padding-left:1.5rem}.person>span{color:#f5f5f26b}.person h3{letter-spacing:-.04em;text-transform:uppercase;min-height:1.9em;margin:4rem 0 .65rem;font-family:Arial Narrow,Arial,sans-serif;font-size:clamp(1.6rem,2.4vw,2.6rem);font-weight:700;line-height:.95}.person p{color:#f5f5f299;min-height:2.8em;margin:0;font-size:.78rem;line-height:1.4}.person__linkedin{color:#f5f5f294;place-items:center;width:44px;height:44px;margin-top:.7rem;margin-left:-11px;line-height:0;transition:color .2s;display:grid}.person__linkedin:hover{color:var(--white)}.person__linkedin:focus-visible{outline-offset:4px;outline:2px solid}.person__linkedin svg{width:22px;height:22px}.work{color:var(--white);background:#17262d;padding-top:clamp(5rem,10vw,10rem);padding-bottom:clamp(5rem,10vw,10rem)}.work .section-label{color:#f5f5f294;border-color:#f5f5f23d}.work__intro p{color:#f5f5f2b8}.work__intro{align-items:end;padding-bottom:clamp(4rem,7vw,7rem)}.project{color:#0b2a4f;background:#faf8f5;border:1px solid #0b2a4f24;padding:clamp(1.4rem,3vw,3rem)}.project__header{grid-template-columns:1.2fr .8fr;align-items:end;gap:clamp(2rem,8vw,8rem);margin-bottom:clamp(2rem,4vw,4rem);display:grid}.project__meta,.project__description{letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;font-size:.65rem;font-weight:700;display:flex}.project__meta{color:#0b2a4f8c;justify-content:flex-start;gap:1.5rem;margin-bottom:1rem}.project h3{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(4rem,9vw,9rem);font-weight:700;line-height:.8}.project__header p{max-width:500px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,2.3vw,2.35rem);line-height:1.2}.project__visual{box-shadow:none;background:#4a4a4a;padding:.08rem}.project__visual img{object-fit:contain;width:100%;height:auto;min-height:0;display:block}.project__description{color:#0b2a4f9e;border-top:1px solid #0b2a4f33;margin-top:1.2rem;padding-top:1.2rem}@media (min-width:801px){.project{grid-template-rows:auto auto;grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);align-items:stretch;gap:clamp(1.5rem,3vw,3rem);display:grid}.project__header{grid-column:1/-1;margin:0;display:block}.project__visual{grid-area:2/1/auto/-1;align-self:center}.project__description{grid-column:1/-1;margin-top:0}}.contact{min-height:100svh;color:var(--white);background:#101214;flex-direction:column;padding-top:clamp(5rem,10vw,9rem);padding-bottom:1.6rem;display:flex}.contact .section-label{color:#f5f5f294;border-color:#f5f5f23d}.contact p{color:#f5f5f2b8}.contact__grid{flex:1;align-content:center;padding-bottom:clamp(5rem,10vw,9rem)}.contact__grid>div{align-self:end}.contact__placeholder{letter-spacing:.12em;text-transform:uppercase;border-top:1px solid;border-bottom:1px solid;justify-content:space-between;margin-top:2.4rem;padding:1rem 0;font-size:.68rem;font-weight:700;display:flex}.contact__placeholder:hover{opacity:.6}.contact__placeholder:focus-visible{outline-offset:5px;outline:2px solid}footer{color:#f5f5f28c;border-top:1px solid #f5f5f23d;justify-content:space-between;align-items:center;padding-top:1.4rem;display:flex}.contact footer>a{order:2}.project__visual{position:relative}.box-logo--footer{filter:brightness(0)invert();width:52px;height:52px}.not-found{background:var(--black);min-height:100svh;color:var(--white);flex-direction:column;padding:clamp(1.25rem,4vw,3rem);display:flex}.not-found .box-logo{filter:brightness(0)invert()}.not-found__header,.not-found__footer{letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.65rem;font-weight:700;display:flex}.not-found__header{border-bottom:1px solid #f5f5f23d;padding-bottom:1.25rem}.not-found__header>span,.not-found__footer{color:#f5f5f28c}.not-found__content{flex:1;grid-template-columns:minmax(0,1.1fr) minmax(300px,.7fr);align-items:center;gap:clamp(3rem,10vw,10rem);padding-block:clamp(4rem,8vw,8rem);display:grid}.not-found__code{letter-spacing:-.08em;align-self:start;font-family:Arial Narrow,Arial,sans-serif;font-size:clamp(9rem,28vw,27rem);font-weight:700;line-height:.68}.not-found__message{align-self:end}.not-found__message h1{letter-spacing:-.055em;text-transform:uppercase;margin:0;font-family:Arial Narrow,Arial,sans-serif;font-size:clamp(3rem,5.5vw,5.8rem);line-height:.87}.not-found__message p{color:#f5f5f2ad;max-width:430px;margin:2rem 0;font-size:1.04rem;line-height:1.6}.not-found__link{letter-spacing:.12em;text-transform:uppercase;border-top:1px solid;border-bottom:1px solid;justify-content:space-between;align-items:center;max-width:430px;padding:1rem 0;font-size:.68rem;font-weight:700;display:flex}.not-found__link:hover{opacity:.65}.not-found__link:focus-visible{outline-offset:5px;outline:2px solid}.not-found__footer{border-top:1px solid #f5f5f23d;padding-top:1.25rem}@media (max-width:800px){.box-logo{width:38px;height:38px}.box-logo--footer{width:44px;height:44px}.site-header{height:72px;min-height:0;padding-block:1rem}.site-header>a{width:max-content}.menu-toggle{cursor:pointer;background:0 0;border:0;gap:5px;width:34px;padding:5px 0;display:grid}.menu-toggle span{background:var(--black);width:100%;height:2px}.site-header nav{display:none}.hero{min-height:auto;padding-top:2.5rem}.eyebrow{margin-bottom:2.5rem}.intro__grid,.model__grid,.work__intro,.contact__grid{grid-template-columns:1fr;gap:2.2rem}.intro__grid>div,.model__grid>div,.contact__grid>div{align-self:start}.capabilities{grid-template-columns:1fr}.capability{min-height:330px}.capability>div{grid-template-rows:auto auto}.team{grid-template-columns:1fr 1fr}.person{border-bottom:1px solid #f5f5f23d;min-height:190px;border-left:0!important;padding:1.2rem!important}.person:nth-child(2n){border-left:1px solid #f5f5f23d!important}.project__header{grid-template-columns:1fr}.project__description{flex-direction:column;gap:1rem}.contact{min-height:auto}.project__visual{background:#e9e6df;padding:0;overflow:visible}.project__visual>img{object-fit:contain;flex:none;width:100%;min-height:0;display:block;height:auto!important}footer>a{display:block}footer>span{text-align:right;margin-left:auto}.not-found{padding:1.25rem}.not-found__content{grid-template-columns:1fr;align-content:center;gap:3.5rem;padding-block:3.5rem}.not-found__code{font-size:clamp(8rem,48vw,13rem)}.not-found__message{align-self:start}.not-found__message p{margin:1.5rem 0}.not-found__footer{align-items:flex-end;gap:1.5rem}.not-found__footer span{margin-left:0}.not-found__footer span:last-child{text-align:right}}@media (max-width:360px){.team{grid-template-columns:1fr}.person:nth-child(2n){border-left:0!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
