#hero{position:relative;overflow:hidden;background:var(--c-bg);display:flex;flex-direction:column;min-height:70vh;padding-top:clamp(2.25rem,5vw,3.5rem)} #hero .hero__grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:repeating-linear-gradient(to right,color-mix(in srgb,var(--c-hairline) 25%,transparent) 0 1px,transparent 1px 25%)} #hero .hero__inner{position:relative;z-index:1;flex:1 1 auto;display:grid;gap:clamp(2rem,5vw,3rem);align-content:start;padding-bottom:clamp(2.5rem,5vw,4rem)} #hero .index-slug{margin-bottom:14px} #hero h1{font-size:clamp(1.6rem,7.2vw,5rem);line-height:.95;letter-spacing:-.02em;overflow-wrap:break-word} #hero .hero__rule{margin-top:16px} #hero .hero__sub{margin-top:clamp(1.25rem,2.5vw,1.75rem);max-width:52ch;font-size:1.125rem;line-height:1.5;color:var(--c-ink)} #hero .hero__cta{margin-top:clamp(1.5rem,3vw,2rem);display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-4)} #hero .hero__cta .btn{width:100%} #hero .hero__link{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-weight:500;color:var(--c-primary)} #hero .hero__arrow{font-family:var(--font-mono);font-size:.9375rem} #hero .hero__panel{background:var(--c-surface);border:1px solid var(--c-hairline);border-radius:var(--radius);padding:clamp(1.25rem,2.4vw,1.75rem)} #hero .hero__close{position:relative;z-index:1;border-top:1px solid var(--c-secondary)} #hero .hero__sq{position:absolute;top:-3px;left:calc(75% - 3px);width:6px;height:6px;background:var(--c-accent)} @media(min-width:48em){#hero .hero__cta{flex-direction:row;align-items:center;gap:var(--sp-6)} #hero .hero__cta .btn{width:auto}} @media(min-width:68.75em){#hero{min-height:78vh} #hero .hero__grid{background-image:repeating-linear-gradient(to right,var(--c-hairline) 0 1px,transparent 1px calc(100%/12))} #hero .hero__grid::before,#hero .hero__grid::after{content:'';position:absolute;top:0;bottom:0;width:1px;background:var(--c-bg);opacity:.6} #hero .hero__grid::before{left:0} #hero .hero__grid::after{right:0} #hero .hero__inner{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem)} #hero .hero__copy{grid-column:1/span 7} #hero .hero__panel{grid-column:9/span 4;align-self:start} #hero .hero__sq{left:calc(66.6667% - 3px)}}

#what-we-build{background:var(--c-primary);color:var(--c-dark-ink);--hair:color-mix(in srgb,var(--c-dark-ink) 18%,transparent);--bar:color-mix(in srgb,var(--c-dark-ink) 26%,var(--c-primary))} #what-we-build .wb__head{padding-block:clamp(2.25rem,4.5vw,3rem)} #what-we-build h2{color:var(--c-dark-ink)} #what-we-build .index-slug{color:color-mix(in srgb,var(--c-dark-ink) 68%,var(--c-primary))} #what-we-build .wb__mosaic{display:grid;border-top:1px solid var(--hair)} #what-we-build .wb__tile{position:relative;background:var(--c-primary);display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:var(--sp-3);padding:clamp(1.5rem,5vw,2rem) clamp(1.25rem,4vw,2rem) clamp(1.5rem,5vw,2rem) clamp(1.75rem,5vw,2.25rem);transition:background-color var(--mo-fast) linear} #what-we-build .wb__tile--01{padding-top:clamp(1.9rem,6vw,2.5rem);padding-bottom:clamp(1.9rem,6vw,2.5rem)} #what-we-build .wb__tile::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--bar);transition:background-color var(--mo-fast) linear} #what-we-build .wb__tile:hover,#what-we-build .wb__tile:focus-within{background:var(--c-dark-bg)} #what-we-build .wb__tile:hover::before,#what-we-build .wb__tile:focus-within::before{background:var(--c-accent)} #what-we-build .wb__tile+.wb__tile{border-top:1px solid var(--hair)} #what-we-build .wb__idx{font-family:var(--font-mono);font-weight:500;font-size:.75rem;letter-spacing:.14em;color:var(--c-accent);padding-top:.35rem} #what-we-build .wb__tile h3{color:var(--c-dark-ink)} #what-we-build .wb__tile p{margin-top:var(--sp-3);max-width:48ch;color:color-mix(in srgb,var(--c-dark-ink) 82%,var(--c-primary))} @media(min-width:68.75em){#what-we-build .wb__mosaic{grid-template-columns:58% 42%;grid-template-rows:38fr 31fr 31fr;min-height:620px} #what-we-build .wb__tile{display:block;padding:clamp(1.75rem,3.2vw,2.5rem);padding-left:clamp(2rem,3.6vw,3rem)} #what-we-build .wb__tile+.wb__tile{border-top:0} #what-we-build .wb__idx{display:block;padding-top:0;margin-bottom:var(--sp-5)} #what-we-build .wb__tile--01{grid-column:1;grid-row:1/span 3} #what-we-build .wb__tile--01 h3{font-size:1.6rem} #what-we-build .wb__tile--01 p{max-width:38ch;margin-top:var(--sp-4)} #what-we-build .wb__tile--02{grid-column:2;grid-row:1;border-left:1px solid var(--hair)} #what-we-build .wb__tile--03{grid-column:2;grid-row:2;border-left:1px solid var(--hair);border-top:1px solid var(--hair)} #what-we-build .wb__tile--04{grid-column:2;grid-row:3;border-left:1px solid var(--hair);border-top:1px solid var(--hair)}}

#who-we-work-with{background:var(--c-bg);padding-block:48px;border-bottom:1px solid var(--c-hairline)} #who-we-work-with .ww__inner{display:grid;gap:clamp(1.75rem,4vw,2.5rem);align-items:start} #who-we-work-with .ww__line{margin-top:var(--sp-5);max-width:40ch;color:var(--c-ink)} #who-we-work-with .ww__tex{width:120px;height:120px;overflow:hidden;border-radius:var(--radius);order:-1} #who-we-work-with .ww__tex img{width:100%;height:100%;object-fit:cover} @media(min-width:48em){#who-we-work-with{padding-block:clamp(3rem,5vw,4rem)} #who-we-work-with .ww__inner{grid-template-columns:minmax(0,1fr) 160px;column-gap:clamp(1.5rem,3vw,2.5rem)} #who-we-work-with .ww__head{grid-column:1} #who-we-work-with .ww__list{grid-column:1} #who-we-work-with .ww__tex{grid-column:2;grid-row:1/span 2;width:160px;height:160px;order:0;justify-self:end}} @media(min-width:68.75em){#who-we-work-with .ww__inner{grid-template-columns:minmax(0,4fr) minmax(0,6fr) 160px} #who-we-work-with .ww__head{grid-column:1;grid-row:1} #who-we-work-with .ww__list{grid-column:2;grid-row:1} #who-we-work-with .ww__tex{grid-column:3;grid-row:1}}

#about-approach{background:var(--c-dark-bg);color:var(--c-dark-ink);--hair:color-mix(in srgb,var(--c-dark-ink) 18%,transparent);--dl:color-mix(in srgb,var(--c-dark-ink) 35%,transparent)} #about-approach .aa__strip{position:relative;height:24vh;min-height:170px;max-height:400px;overflow:hidden;background:var(--c-primary)} #about-approach .aa__strip img{width:100%;height:100%;object-fit:cover;object-position:center 40%} #about-approach .aa__strip::after{content:'';position:absolute;inset:0;background:var(--c-primary);opacity:.28;pointer-events:none} #about-approach .aa__inner{display:grid;gap:clamp(2rem,5vw,3rem);padding-block:clamp(2.5rem,6vw,4.5rem)} #about-approach h2{color:var(--c-dark-ink)} #about-approach .aa__p{margin-top:var(--sp-6);font-size:1.0625rem;line-height:1.6;color:color-mix(in srgb,var(--c-dark-ink) 90%,var(--c-dark-bg))} #about-approach .aa__foot{margin-top:var(--sp-8);max-width:22rem} #about-approach .aa__foot .spec-grid__row::before,#about-approach .aa__foot .spec-grid__row:last-child::after{background:var(--hair)} #about-approach .aa__foot .spec-grid__label{color:color-mix(in srgb,var(--c-dark-ink) 68%,var(--c-dark-bg))} #about-approach .aa__foot .spec-grid__value{color:var(--c-dark-ink)} #about-approach .dgm__label{font-family:var(--font-mono);font-weight:500;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;line-height:15px;color:color-mix(in srgb,var(--c-dark-ink) 68%,var(--c-dark-bg));margin:0 0 12px;max-width:none;text-align:center} #about-approach .dgm__row+.dgm__label{margin-top:28px} #about-approach .dgm__row{display:flex;flex-direction:column;align-items:center} #about-approach .dgm__step{position:relative;width:44px;height:44px;flex:0 0 auto;border:1px solid var(--dl)} #about-approach .dgm__step--off{border-color:color-mix(in srgb,var(--c-dark-ink) 15%,transparent)} #about-approach .dgm__step--off::after{content:'';position:absolute;inset:0;background:linear-gradient(to top right,transparent calc(50% - .5px),var(--c-accent) calc(50% - .5px),var(--c-accent) calc(50% + .5px),transparent calc(50% + .5px))} #about-approach .dgm__box{width:96px;height:44px;flex:0 0 auto;border:1px solid var(--c-dark-ink)} #about-approach .dgm__box--auto{border-left:4px solid var(--c-accent)} #about-approach .dgm__arrow{position:relative;flex:0 0 auto;width:1px;height:16px;background:var(--dl)} #about-approach .dgm__arrow::after{content:'';position:absolute;left:-3px;bottom:0;width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:5px solid var(--dl)} #about-approach .dgm__caption{margin-top:var(--sp-6);font-family:var(--font-mono);font-weight:500;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--c-dark-ink) 68%,var(--c-dark-bg));text-align:center} @media(min-width:48em){#about-approach .aa__strip{height:32vh} #about-approach .dgm__label{margin:0 0 12px 60px;text-align:left} #about-approach .dgm__caption{text-align:left} #about-approach .dgm__row{flex-direction:row;align-items:center} #about-approach .dgm__arrow{width:16px;height:1px;margin-left:0} #about-approach .dgm__arrow::after{left:auto;right:0;bottom:auto;top:-3.5px;border-left:5px solid var(--dl);border-right:0;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent} #about-approach .dgm__row--after{position:relative} #about-approach .dgm__row--after::before{content:'';position:absolute;left:22px;top:-55px;width:1px;height:55px;background:var(--dl)}} @media(min-width:68.75em){#about-approach .aa__inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:0} #about-approach .aa__copy{padding-right:clamp(2rem,4vw,3.5rem)} #about-approach .aa__diagram{border-left:1px solid var(--hair);padding-left:clamp(2rem,4vw,3.5rem)}}

#common-questions{background:var(--c-bg);padding-block:clamp(3rem,6vw,5.5rem)} #common-questions .cq__inner{display:grid;gap:clamp(1.75rem,4vw,2.5rem);align-items:start} #common-questions .cq__row{border-top:1px solid var(--c-hairline)} #common-questions .cq__row:last-child{border-bottom:1px solid var(--c-hairline)} #common-questions .cq__q{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-6);min-height:48px;padding:20px 0;cursor:pointer;list-style:none;font-family:var(--font-display);font-weight:600;font-size:1.0625rem;line-height:1.35;color:var(--c-primary)} #common-questions .cq__q::-webkit-details-marker{display:none} #common-questions .cq__q>span:first-child{max-width:44ch} #common-questions .cq__plus{flex:0 0 auto;font-family:var(--font-mono);font-weight:500;font-size:1.25rem;line-height:1;color:var(--c-accent);transform-origin:center;transition:transform 200ms var(--mo-ease)} #common-questions .cq__row[open] .cq__plus{transform:rotate(45deg)} #common-questions .cq__a{border-left:4px solid var(--c-accent);padding:0 0 24px 20px;margin-bottom:0} #common-questions .cq__a p{font-size:1.03125rem;line-height:1.6;color:var(--c-ink);max-width:60ch} @media(min-width:48em){#common-questions .cq__q{font-size:1.125rem}} @media(min-width:68.75em){#common-questions .cq__inner{grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:clamp(2rem,5vw,4rem)} #common-questions .cq__head{position:sticky;top:calc(var(--header-h) + 2rem);align-self:start}}

#contact{background:var(--c-primary);color:var(--c-dark-ink);--hair:color-mix(in srgb,var(--c-dark-ink) 18%,transparent);padding-top:clamp(3rem,6vw,5rem)} #contact .ct__inner{display:grid;gap:clamp(2rem,4vw,3rem);align-items:start;padding-bottom:clamp(2.5rem,5vw,4rem)} #contact h2{color:var(--c-dark-ink)} #contact .index-slug{color:color-mix(in srgb,var(--c-dark-ink) 68%,var(--c-primary))} #contact .ct__card{background:var(--c-surface);border-radius:var(--radius);padding:clamp(1.25rem,3vw,2.25rem)} #contact .f__grid{display:grid;gap:var(--sp-6)} #contact .f__label{display:block;font-family:var(--font-mono);font-weight:500;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-secondary);margin-bottom:var(--sp-2)} #contact .f__field{width:100%;min-height:48px;padding:.5rem 0;background:var(--c-surface);color:var(--c-ink);border:0;border-bottom:1px solid var(--c-hairline);border-radius:0;font-family:var(--font-body);font-size:1rem;transition:border-color var(--mo-fast) linear} #contact .f__field::placeholder{color:var(--c-secondary);opacity:1} #contact .f__field:hover{border-bottom-color:var(--c-secondary)} #contact .f__field:focus{border-bottom-color:var(--c-accent)} #contact .f__field--area{min-height:132px;resize:vertical;line-height:1.55} #contact .ct__spec .spec-grid__row::before,#contact .ct__spec .spec-grid__row:last-child::after{background:var(--hair)} #contact .ct__spec .spec-grid__label{color:color-mix(in srgb,var(--c-dark-ink) 70%,var(--c-primary))} #contact .ct__spec .spec-grid__value,#contact .ct__spec .spec-grid__value a{color:var(--c-dark-ink)} #contact .ct__close{position:relative;border-top:1px solid var(--hair)} #contact .ct__sq{position:absolute;top:-3px;left:calc(75% - 3px);width:6px;height:6px;background:var(--c-accent)} @media(min-width:48em){#contact .f__grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.5rem,3vw,2.5rem)} #contact .f__row--full{grid-column:1/-1}} @media(min-width:68.75em){#contact .ct__inner{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(2rem,4vw,4rem)} #contact .ct__head{grid-column:1/-1} #contact .ct__sq{left:calc(66.6667% - 3px)}}