@font-face{font-family:Readex Pro;src:url(../fonts/readex-pro-light.woff2) format("woff2");font-style:normal;font-weight:300 500;font-display:swap}@font-face{font-family:Readex Pro;src:url(../fonts/readex-pro-semibold.woff2) format("woff2");font-style:normal;font-weight:600 900;font-display:swap}:root{font-family:Readex Pro,Arial,sans-serif;font-weight:300;color:var(--ink);background:var(--paper);font-synthesis:none;--ink: #171a2e;--teal: #167c80;--sage: #e5e0d6;--paper: #f7f6f3;--mint: #e5e0d6;--muted: #575756;--panel: #292d46;--radius: 1.25rem;--content: 75rem;--body: 1.125rem;--display: 3.5rem;--heading: 3rem;--subheading: 2rem;--line: #ccc7bd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}p{font-size:var(--body);line-height:1.55;margin:0 0 1.5rem}h1,h2,h3{font-weight:400;margin:0;line-height:1.15}h2{font-size:var(--heading)}img{display:block;max-width:100%;object-fit:cover}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.hero :focus-visible,.site-header :focus-visible,.is-open :focus-visible,.team-bio :focus-visible,.is-active :focus-visible,.contact-panel :focus-visible,.project-card :focus-visible{outline-color:var(--mint)}.container{width:min(var(--content),calc(100% - 3rem));margin-inline:auto}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:3rem;padding:.875rem 1.5rem;border:0;border-radius:99rem;background:var(--mint);color:var(--ink);font-size:1rem;font-weight:600;line-height:1.2;transition:background .2s}.button:hover{background:#f7a16f}.button--dark{background:var(--ink);color:#fff}.button--dark:hover{background:var(--teal)}.muted{color:var(--muted)}.skip-link{position:fixed;top:1rem;left:1rem;z-index:20;background:#fff;padding:1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}main:focus{outline:none}.brand{display:inline-flex;align-items:center;font-size:2rem;letter-spacing:-.07em;white-space:nowrap;line-height:1}.brand span{color:var(--teal)}.brand svg{width:1.05em;height:1.05em;margin-left:.3em;fill:none;stroke:var(--teal);stroke-width:3;stroke-linecap:round}.brand--light{color:#fff;font-size:1.75rem}.brand--light span,.brand--light svg{color:var(--mint);stroke:var(--mint)}.hero-shell{position:relative;padding:1.5rem 1.5rem 0}.hero{--hero-radius: 2rem;height:46rem;position:relative;isolation:isolate;overflow:hidden;border-radius:var(--hero-radius);clip-path:inset(0 round var(--hero-radius));color:#fff}.hero-image,.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-2}.hero-image{object-position:center top}.hero-overlay{z-index:-1;background:linear-gradient(0deg,rgba(23,26,46,.55),transparent 60%),linear-gradient(90deg,#171a2ef5,#171a2ef0 42%,#167c801f)}.hero-content{width:min(var(--content),calc(100% - 3rem));padding-top:14.5rem}.hero h1{font-size:var(--display);line-height:1.04;letter-spacing:-.035em;margin-bottom:2.5rem}.hero h1 span{color:var(--mint)}.hero-content p{font-size:1.25rem;margin-bottom:2.5rem}.site-header{position:absolute;z-index:5;top:3.5rem;left:50%;transform:translate(-50%);width:min(var(--content),calc(100% - 6rem));min-height:4.5rem;border-radius:3rem;background:var(--ink);border:1px solid #49696c;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;gap:2rem}.site-header nav{display:flex;align-items:center;gap:2rem}.site-header nav>a:not(.button){color:#fff;font-size:1rem;padding:.75rem 0}.site-header nav>a:hover{text-decoration:underline;text-underline-offset:.3rem}.nav-contact{min-width:9rem;justify-content:center}.menu-toggle{display:none}.about{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center;padding-block:6rem}.about>img{width:100%;height:22.5rem;border-radius:var(--radius)}.about h2{font-size:var(--subheading);margin-bottom:1.5rem}.about .button{margin-top:.5rem}.work-services{background:var(--sage);padding-block:4.5rem 5rem}.work-services h2{margin-bottom:2.5rem}.services{border-radius:var(--radius);overflow:hidden;background:var(--paper)}.service{padding-inline:2rem}.service+.service{border-top:1px solid var(--line)}.service h3>button{border:0;background:none;width:100%;display:flex;align-items:center;text-align:left;gap:2rem;padding:1.75rem 0;min-height:7.5rem}.service h3>button>span:first-child{font-size:var(--subheading);flex:1}.toggle-icon{width:2.75rem;height:2.75rem;flex-shrink:0;border-radius:50%;display:inline-grid;place-items:center;background:var(--sage);color:var(--ink)}.toggle-icon svg{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.service.is-open{background:var(--ink);color:#fff}.service.is-open h3>button{min-height:0;padding-bottom:1.5rem}.service-body{display:grid;grid-template-columns:1.5fr 1fr;gap:5rem;padding-bottom:3rem}.service-summary{max-width:25rem;font-size:1.25rem}.service-description{color:var(--mint);max-width:32rem;margin-bottom:0}.service-body ul{margin:0;padding-left:1.25rem;line-height:1.6;font-size:var(--body)}.service-body li+li{margin-top:1rem}.projects{--project-gap: 1.5rem;--project-row-height: 16.25rem;padding-block:3.5rem 6rem}.projects-heading{font-size:var(--heading);margin-bottom:2.5rem}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:var(--project-row-height);gap:var(--project-gap)}.project-card{position:relative;isolation:isolate;border-radius:var(--radius);overflow:hidden;background:var(--ink);color:#fff}.project-card--featured{grid-column:span 2;grid-row:span 2}.project-card>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-2;transition:transform .4s}.project-action{width:100%;height:100%;border:0;background:linear-gradient(180deg,transparent 10%,rgba(23,26,46,.82) 52%,var(--ink));color:inherit;text-align:left;display:flex;align-items:flex-end;padding:1.5rem}.project-action:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--teal);opacity:0;transition:opacity .25s}.project-copy{display:flex;flex-direction:column;align-items:start;width:100%}.project-meta{text-transform:uppercase;font-size:.75rem;line-height:1.4;color:var(--mint);margin-bottom:.5rem;display:block}.project-title{font-size:1.25rem;line-height:1.25}.project-card--featured .project-title{font-size:1.75rem;max-width:24rem}.project-description{font-size:1rem;line-height:1.45;display:none;margin-top:1rem}.project-link{margin-top:1rem;font-size:1rem;font-weight:600;color:var(--mint)}.project-action:focus-visible{outline-offset:-5px}.project-card:hover .project-description,.project-card:focus-within .project-description{display:block}.project-card:hover .project-action:before,.project-card:focus-within .project-action:before{opacity:.97}.project-card:hover img{transform:scale(1.035)}.team-section{border-top:1px solid var(--line);padding-block:4.5rem 3.5rem}.team-section>h2{margin-bottom:5rem}.team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem 1.25rem}.team-card{grid-row:1;grid-column:var(--card-column);border-radius:1rem;overflow:hidden;min-width:0}.team-card>.team-photo{width:100%;height:auto;aspect-ratio:224/264;border-radius:1rem;object-position:center}.team-card-content{padding:1rem;display:flex;flex-direction:column;align-items:start;min-height:9rem}.team-card h3{font-size:1.375rem;line-height:1.25;margin-bottom:.4rem}.team-card p{font-size:.9375rem;color:var(--muted);line-height:1.4;margin:0 0 .875rem}.team-card button,.team-bio button{padding:0;background:none;border:0;border-radius:50%}.team-card button{align-self:flex-end;margin-top:auto}.team-card.is-active{background:var(--ink);color:#fff}.team-card.is-active p{color:var(--mint)}.team-bio{grid-column:1/-1;grid-row:2;background:var(--ink);color:#fff;border-radius:var(--radius);padding:2.5rem 5.5rem;position:relative}.team-bio>div{max-width:37rem;margin:auto}.team-bio p:last-child{color:var(--mint);margin-bottom:0}.team-bio>button{position:absolute;right:2rem;top:1.5rem}.collaborators{margin-top:4rem;padding:2rem;background:var(--sage);border-radius:var(--radius)}.collaborators summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;font-size:var(--subheading)}.collaborators summary::-webkit-details-marker{display:none}.collaborators[open] summary .toggle-icon svg path:last-child{display:none}.collaborator-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 4rem;margin-top:2rem}.collaborator-grid article{border-top:1px solid var(--line);padding-top:1.5rem}.collaborator-grid h3{font-size:1.375rem;margin-bottom:1rem}.collaborator-grid p{color:var(--muted);font-size:1rem}.collaborator-grid a{display:flex;justify-content:space-between}.contact-section{padding-block:1.5rem 6rem}.contact-panel{border-radius:var(--radius);background-color:var(--ink);position:relative;isolation:isolate;overflow:hidden;background-size:cover;background-position:center bottom;color:#fff;padding:3rem 2.5rem;display:grid;grid-template-columns:1.5fr 1fr;gap:4rem}.contact-panel h2{margin-bottom:2.5rem}.contact-panel p{color:var(--mint);font-size:1.25rem}.contact-address{padding:2rem;background:var(--panel);border-radius:1rem;display:flex;flex-direction:column;align-items:start}.contact-address p{font-size:1.125rem;margin-bottom:1.5rem}.email{font-size:1.75rem;overflow-wrap:anywhere}.contact-address .button{margin-top:2.5rem}.site-footer{background:var(--sage);padding-block:3rem 1.5rem}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:2rem}.footer-grid p{font-size:1rem;color:var(--muted);margin:1.5rem 0 0}.footer-grid nav{display:flex;gap:2.5rem;align-items:start;padding-top:.5rem}.footer-grid nav a{padding-block:.5rem}.footer-grid nav a:hover,.back-top:hover{text-decoration:underline}.footer-grid small,.back-top{font-size:.875rem;color:var(--muted)}.back-top{justify-self:end}.project-dialog{border:0;border-radius:var(--radius);background:var(--paper);color:var(--ink);padding:3rem;max-width:min(40rem,calc(100% - 2rem));max-height:85dvh;overflow:auto}.project-dialog::backdrop{background:#0a1724e0}.project-dialog h2{font-size:2rem;margin:1rem 2rem 2rem 0}.project-dialog .project-meta{color:var(--teal)}.dialog-close{position:absolute;top:1rem;right:1rem;border:0;background:var(--sage);width:2.75rem;height:2.75rem;border-radius:50%;font-size:1.75rem}.prototype-note{font-size:.875rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-bottom:0}@media(min-width:1440px){.hero-content{width:var(--content)}}@media(max-width:1100px){.site-header nav{gap:1.25rem}.about{gap:3rem}.projects{--project-row-height: 19rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-action{padding:1.25rem}.service-body{gap:3rem}.team-card-content{padding:.75rem}.team-card h3{font-size:1.125rem}.contact-panel{gap:2rem}.contact-address{padding:1.5rem}.email{font-size:1.5rem}}@media(max-width:760px){:root{--body: 1rem;--heading: 2.5rem;--subheading: 1.75rem;--display: 2.75rem}.hero-shell{padding:0}.hero{--hero-radius: 0px;border-radius:var(--hero-radius);height:auto;min-height:100vh}.hero-image{object-position:center top}.hero-overlay{background:linear-gradient(0deg,#171a2ec7,#171a2e26),linear-gradient(90deg,#171a2edb,#171a2e2e)}.site-header{top:1.75rem;width:calc(100% - 3rem);min-height:4rem;padding:.5rem 1rem .5rem 1.25rem;gap:1rem}.brand--light{font-size:1.5rem}.menu-toggle{display:grid;place-items:center;width:3rem;height:3rem;flex-shrink:0;border:0;border-radius:50%;background:var(--mint)}.menu-toggle svg{width:1.5rem;fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round}.site-header nav{display:none;position:absolute;left:0;right:0;top:calc(100% + .75rem);background:var(--paper);border-radius:1.25rem;padding:1rem;box-shadow:0 1rem 2rem #171a2e20}.site-header nav.is-open{display:flex;flex-direction:column;gap:0;align-items:stretch}.site-header nav>a:not(.button){color:var(--ink);padding:1rem .5rem;border-bottom:1px solid var(--line)}.site-header .nav-contact{background:transparent;justify-content:start;padding:1rem .5rem;font-weight:400;min-width:0}.hero-content{padding-top:18rem;width:calc(100% - 4.5rem)}.hero h1{max-width:22rem;line-height:1;margin-bottom:2.5rem}.hero h1 span{display:block}.hero-content p{font-size:1rem;max-width:20rem;margin-bottom:2.5rem}.desktop-break{display:none}.about{grid-template-columns:1fr;gap:2.5rem;padding-block:4rem}.about>img{height:auto;aspect-ratio:342/256}.about h2{font-size:2rem}.work-services{padding-block:4rem}.work-services h2{margin-bottom:2.5rem}.service{padding-inline:1.5rem}.service h3>button{position:relative;flex-wrap:wrap;gap:1rem;padding-block:1.5rem;min-height:0}.service h3>button>span:first-child{flex-basis:calc(100% - 4rem);font-size:1.75rem}.service h3 .toggle-icon{position:absolute;right:0;top:1.5rem}.service-body{grid-template-columns:1fr;gap:1.5rem;padding-bottom:2rem}.service-summary{font-size:1.125rem}.service-description,.service-body ul{font-size:1rem}.service-body li+li{margin-top:.5rem}.projects{padding-block:3rem 4rem}.projects-heading{margin-bottom:2rem}.project-grid{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:auto;gap:var(--project-gap)}.project-card--featured{grid-column:auto}.project-card{min-height:20rem}.project-card--featured{grid-row:auto;min-height:24rem}.project-title,.project-card--featured .project-title{font-size:1.5rem}.project-description{display:block}.project-action{padding:1.5rem;background:linear-gradient(180deg,transparent,rgba(23,26,46,.88) 55%,var(--ink))}.team-section{padding-block:3.5rem 2rem}.team-section>h2{margin-bottom:2.5rem}.team-grid{display:flex;flex-direction:column;gap:1rem}.team-card{display:grid;grid-template-columns:5rem 1fr;border-radius:1rem}.team-card>.team-photo{height:7rem;aspect-ratio:auto;border-radius:.75rem}.team-card-content{position:relative;min-height:7rem;padding:.75rem 3.5rem .75rem 1rem;justify-content:center}.team-card h3{font-size:1.25rem}.team-card p{margin-bottom:0;font-size:.875rem}.team-card button{position:absolute;right:.5rem;top:.75rem}.team-card.is-active{display:block}.team-card.is-active>.team-photo{width:100%;height:auto;aspect-ratio:342/320;border-radius:1rem}.team-card.is-active .team-card-content{min-height:7rem;padding-left:1rem}.team-card.is-active button{right:1rem;top:1rem}.team-bio{padding:4.5rem 1.5rem 1.5rem;margin-bottom:1rem}.team-bio>button{right:1rem;top:1rem}.collaborators{padding:1.5rem;margin-top:3rem}.collaborators summary{font-size:1.375rem;letter-spacing:-.025em}.collaborators summary .toggle-icon{width:2.5rem;height:2.5rem}.collaborator-grid{grid-template-columns:1fr;gap:0}.contact-section{padding-block:1.5rem 4rem}.contact-panel{grid-template-columns:1fr;gap:1.5rem;padding:2rem 1.5rem}.contact-panel h2{font-size:2.25rem;margin-bottom:2rem}.contact-panel p{font-size:1.0625rem}.contact-address{background:transparent;padding:0}.contact-address p{margin-bottom:1rem}.contact-address .button{margin-top:2rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem 1rem}.footer-grid>div,.footer-grid nav{grid-column:1/-1}.footer-grid nav{justify-content:space-between;gap:.75rem;padding:0}.footer-grid .brand{font-size:1.75rem}.footer-grid p{font-size:.9375rem;line-height:1.6;margin-top:1rem}.footer-grid small,.back-top{font-size:.8125rem}.site-footer{padding-block:2.5rem 1.5rem}.project-dialog{padding:3rem 1.5rem 1.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}:root{--motion-fast: .22s;--motion-slow: .38s;--motion-ease: cubic-bezier(.22, 1, .36, 1)}.disclosure{overflow:hidden}.disclosure[hidden]{display:none!important}.disclosure-content{display:flow-root}.button{transition:background var(--motion-fast),padding var(--motion-slow) var(--motion-ease),box-shadow var(--motion-fast)}.button:has(>span[aria-hidden]){padding-right:1.75rem}.button:has(>span[aria-hidden]):is(:hover,:focus-visible){padding-right:2.25rem}.button>span[aria-hidden],.project-link>span{display:inline-block;transition:transform var(--motion-slow) var(--motion-ease)}.button:is(:hover,:focus-visible)>span[aria-hidden],.project-card:is(:hover,:focus-within) .project-link>span{transform:translate(.375rem)}.toggle-icon{transition:background var(--motion-fast),color var(--motion-fast),transform var(--motion-slow) var(--motion-ease),box-shadow var(--motion-fast)}.toggle-vertical{transform-origin:center;transition:transform var(--motion-slow) var(--motion-ease),opacity var(--motion-fast)}.toggle-icon.is-open .toggle-vertical{transform:rotate(90deg);opacity:0}.service{transition:background var(--motion-slow),color var(--motion-slow)}.service:not(.is-open) h3{color:var(--ink)}.service:not(.is-open) h3>button>span:first-child{font-size:1.625rem;line-height:1.35}.service:not(.is-open) h3>button{min-height:6.5rem}.service:not(.is-open):focus-within{background:#fff}@media(hover:hover){.service:not(.is-open):hover{background:#fff}}@media(max-width:760px){.service:not(.is-open) h3>button>span:first-child{font-size:1.375rem}.service:not(.is-open) h3>button{min-height:0}}.service h3>button{transition:min-height var(--motion-slow),padding var(--motion-slow)}.team-card{transition:background var(--motion-slow),color var(--motion-slow),box-shadow var(--motion-slow)}.team-card:not(.is-active):is(:hover,:focus-within){background:#e5e0d6;box-shadow:0 .5rem 1.5rem #171a2e0a}.team-card.is-active:is(:hover,:focus-within){background:var(--panel)}.team-card p{transition:color var(--motion-slow)}.team-bio-disclosure{grid-column:1/-1;grid-row:2}.team-bio{transition:background var(--motion-fast)}.bio-copy-enter-active,.bio-copy-leave-active{transition:opacity .16s ease,transform .16s ease}.bio-copy-enter-from{opacity:0;transform:translateY(.4rem)}.bio-copy-leave-to{opacity:0;transform:translateY(-.25rem)}.collaborators-trigger{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;border:0;background:none;text-align:left;padding:0;font-size:var(--subheading)}.collaborators{transition:background var(--motion-slow)}.collaborators:has(.collaborators-trigger:hover){background:#d8d2c6}.collaborator-grid h4{font-size:1.375rem;font-weight:400;margin:0 0 1rem}.project-description{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;transform:translateY(.5rem);transition:grid-template-rows var(--motion-slow) var(--motion-ease),opacity .25s,margin var(--motion-slow) var(--motion-ease),transform var(--motion-slow) var(--motion-ease)}.project-description>span{min-height:0;overflow:hidden}.project-card:is(:hover,:focus-within) .project-description{display:grid;grid-template-rows:1fr;opacity:1;margin-top:1rem;transform:none}.project-action:before{transition:opacity var(--motion-slow) ease}.project-card>img{transition:transform .6s var(--motion-ease)}.menu-toggle,.dialog-close{transition:background var(--motion-fast),transform var(--motion-fast)}.menu-toggle:hover,.dialog-close:hover{background:var(--mint);transform:scale(1.06)}@media(max-width:760px){.project-description{grid-template-rows:1fr;opacity:1;margin-top:1rem;transform:none}.collaborators-trigger{font-size:1.375rem;letter-spacing:-.025em}.team-bio-disclosure{flex-shrink:0}.site-header nav{display:flex;flex-direction:column;gap:0;align-items:stretch;opacity:0;transform:translateY(-.5rem);visibility:hidden;pointer-events:none;transition:opacity var(--motion-fast),transform var(--motion-slow) var(--motion-ease),visibility 0s var(--motion-fast)}.site-header nav.is-open{opacity:1;transform:none;visibility:visible;pointer-events:auto;transition-delay:0s}}@media(hover:none){.project-description{display:grid;grid-template-rows:1fr;opacity:1;margin-top:1rem;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.site-header nav>a:not(.button){position:relative;transition:color var(--motion-fast)}.site-header nav>a:is(:hover,:focus-visible){text-decoration:none}.site-header nav>a:not(.button):after{content:"";position:absolute;left:0;right:0;bottom:.35rem;height:2px;background:var(--mint);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-slow) var(--motion-ease)}.site-header nav>a:not(.button):is(:hover,:focus-visible){color:var(--mint)}.site-header nav>a:not(.button):is(:hover,:focus-visible):after{transform:scaleX(1)}.nav-contact{transition:transform var(--motion-slow) var(--motion-ease),background var(--motion-fast),box-shadow var(--motion-slow)}.nav-contact:is(:hover,:focus-visible){transform:scale(1.045);box-shadow:0 .25rem 1rem #00000020}a[href],button:not(:disabled),.team-card{cursor:pointer}@media(prefers-reduced-motion:reduce){.nav-contact:is(:hover,:focus-visible){transform:none}}.collaborator-grid article{padding-top:0}.collaborator-grid article:nth-child(-n+2){border-top:0}.collaborator-grid .collaborator-entry{display:block;position:relative;height:100%;padding:1.5rem 1rem;border-radius:.75rem;text-decoration:none;transition:background var(--motion-fast)}.collaborator-entry:hover,.collaborator-entry:focus-visible{background:#ffffff40}.collaborator-entry[href] h4{padding-right:3rem}.collaborator-entry p{margin-bottom:0;line-height:1.6}.collaborator-link-icon{position:absolute;top:1rem;right:.75rem;width:2.75rem;height:2.75rem;border-radius:50%;display:grid;place-items:center;color:var(--teal);transition:background var(--motion-fast),color var(--motion-fast),transform var(--motion-slow) var(--motion-ease)}.collaborator-link-icon svg{width:1.25rem;height:1.25rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:760px){.collaborator-grid article:nth-child(2){border-top:1px solid var(--line)}}.team-photo{overflow:hidden;position:relative;transition:border-bottom-left-radius var(--motion-slow) var(--motion-ease),border-bottom-right-radius var(--motion-slow) var(--motion-ease)}.team-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .6s var(--motion-ease)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.team-card:hover .team-photo img{transform:scale(1.035)}}@media(prefers-reduced-motion:no-preference){.team-card:focus-within .team-photo img{transform:scale(1.035)}}.team-card.is-active>.team-photo{border-bottom-left-radius:0;border-bottom-right-radius:0}.scroll-reveal-pending{opacity:0}@media(prefers-reduced-motion:reduce),print{.scroll-reveal-pending{opacity:1}}@media(max-width:760px){.team-card,.team-card.is-active{display:block;container-type:inline-size}.team-card>.team-photo{width:5rem;height:7rem;aspect-ratio:auto;transition:width var(--motion-slow) var(--motion-ease),height var(--motion-slow) var(--motion-ease),border-radius var(--motion-slow) var(--motion-ease)}.team-card .team-card-content{margin-top:-7rem;margin-left:5rem;width:calc(100% - 5rem);padding-left:1rem;transition:margin var(--motion-slow) var(--motion-ease),width var(--motion-slow) var(--motion-ease),padding var(--motion-slow) var(--motion-ease)}.team-card.is-active>.team-photo{width:100%;height:calc(100cqw * 320 / 342);border-radius:1rem 1rem 0 0}.team-card.is-active .team-card-content{margin-top:0;margin-left:0;width:100%;padding:1.5rem}.team-card.is-active .team-card-content>h3,.team-card.is-active .team-card-content>p{padding-right:3.25rem}.team-card.is-active button{top:1.5rem;right:1.5rem}}.team-mobile-bio{padding:0 1.5rem 1.5rem;cursor:auto}.team-card .team-mobile-bio p{color:#fff;font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.team-card .team-mobile-bio p:last-child{color:var(--mint);margin-bottom:0}.header-origin{position:absolute;z-index:10;top:3.5rem;left:50%;transform:translate(-50%);width:min(var(--content),calc(100% - 6rem));min-height:4.5rem}.header-origin .site-header{position:relative;top:auto;left:auto;width:100%;transform:none}.header-origin:has(.is-floating){transform:none;left:max(3rem,calc((100% - var(--content)) / 2))}.header-origin .site-header.is-floating{position:fixed;top:1rem;left:50%;width:min(var(--content),calc(100% - 6rem));transform:translate(-50%,calc(-100% - 2rem));opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 .75rem 2rem #171a2e26;transition:transform var(--motion-slow) var(--motion-ease),opacity var(--motion-fast),visibility 0s var(--motion-slow)}.header-origin .site-header.is-floating.is-revealed{transform:translate(-50%);opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}@media(max-width:760px){.header-origin{top:1.75rem;width:calc(100% - 3rem)}.header-origin:has(.is-floating){left:1.5rem}.header-origin .site-header.is-floating{top:.75rem;width:calc(100% - 3rem)}.site-header.is-floating nav{max-height:calc(100dvh - 7rem);overflow-y:auto}}.project-grid--additional{margin-top:var(--project-gap);grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:var(--project-row-height)}.projects-more{display:flex;justify-content:center;margin-top:2.5rem}@media(min-width:761px)and (max-width:1100px){.project-grid--additional{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:19rem}}@media(max-width:760px){.project-grid--additional{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:auto}}.project-dialog{padding:0;width:min(60rem,calc(100% - 3rem));max-width:none;max-height:90dvh;overflow:hidden}.dialog-scroll{max-height:90dvh;overflow-y:auto;overscroll-behavior:contain}.project-dialog .dialog-close{z-index:2;display:grid;place-items:center;box-shadow:0 .25rem 1rem #171a2e40}.dialog-close svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.project-dialog-hero{position:relative;isolation:isolate;min-height:21rem;display:flex;align-items:end;background:var(--ink)}.project-dialog-hero>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-2}.project-dialog-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(0deg,#171a2ef5,#171a2e99 55%,#171a2e10)}.project-dialog-heading{padding:5rem 3rem 2.5rem;color:#fff}.project-dialog-heading .project-meta{color:var(--mint);margin:0 0 1rem}.project-dialog-heading h2{color:#fff;font-size:2.5rem;max-width:40rem;margin:0;line-height:1.1}.project-dialog-body{padding:2.5rem 3rem}.project-dialog-intro{font-size:1.375rem;max-width:45rem}.project-dialog-columns{display:grid;grid-template-columns:minmax(0,1fr) 15rem;gap:2.5rem;margin:2rem 0 2.5rem;align-items:start}.project-dialog-body h3{font-size:1.25rem;margin-bottom:1rem}.project-dialog-overview p,.project-dialog-overview li{color:var(--muted);font-size:1rem;line-height:1.65}.project-dialog-overview ul{padding-left:1.25rem}.project-dialog-overview li+li{margin-top:.5rem}.project-facts{background:var(--sage);border-radius:1rem;padding:1.5rem}.project-facts dl{margin:0}.project-facts dl>div+div{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.project-facts dt{color:var(--muted);font-size:.875rem;margin-bottom:.25rem}.project-facts dd{margin:0;font-size:1rem}.project-resources{padding:1.5rem;border:1px solid var(--line);border-radius:1rem;margin-bottom:2rem}.project-resources p{font-size:1rem;color:var(--muted);margin-bottom:1.25rem}.project-resource-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem}.project-external-link{font-size:1rem;text-underline-offset:.25rem}.project-external-link:hover{color:var(--teal);text-decoration:underline}@media(max-width:760px){.project-dialog{padding:0;width:calc(100% - 1.5rem)}.project-dialog-hero{min-height:18rem}.project-dialog-heading{padding:4.5rem 1.5rem 2rem}.project-dialog-heading h2{font-size:1.875rem}.project-dialog-body{padding:1.5rem}.project-dialog-columns{grid-template-columns:1fr;gap:1.5rem}.project-dialog-intro{font-size:1.125rem}.project-resources{padding:1.25rem}.project-resource-actions .button{white-space:normal;text-align:left}}.projects-carousel-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem}.projects-carousel-heading .projects-heading{margin:0}.projects-carousel-controls{display:flex;gap:.5rem;flex-shrink:0}.projects-carousel-controls button{display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:50%;color:var(--ink);background:var(--sage);transition:background var(--motion-fast),transform var(--motion-fast),opacity var(--motion-fast)}.projects-carousel-controls button[aria-disabled=true]{opacity:.4;cursor:default}.projects-carousel-controls svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.projects-carousel-track{position:relative;display:flex;gap:var(--project-gap);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:var(--radius)}.projects-carousel-track::-webkit-scrollbar{display:none}.projects-carousel-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.projects-carousel-slide .project-card{height:clamp(27rem,65svh,34rem);min-height:27rem}.projects-carousel-slide .project-action{padding:1.5rem}.projects-carousel-slide .project-description{display:block;opacity:1;transform:none;margin-top:1rem}.projects-carousel-slide .project-action:focus-visible{outline-offset:-4px}@media(max-width:359px){.projects-carousel-heading{gap:.5rem}.projects-carousel-controls{gap:.25rem}}.projects-carousel-counter{margin:1rem 0 0;text-align:center;color:var(--muted);font-size:.875rem;font-variant-numeric:tabular-nums}@media(max-width:760px),(hover:none){.project-card .project-action:before{display:none}.project-card:is(:hover,:focus-within)>img,.project-card:is(:hover,:focus-within) .project-link>span{transform:none}.project-card:is(:hover,:focus-within) .project-description{display:block}}.service{position:relative;isolation:isolate;overflow:hidden}.service-visual{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:0;background:var(--ink);transition:opacity var(--motion-slow) var(--motion-ease)}.service-visual img{width:100%;height:100%;object-fit:cover;object-position:center}.service-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#171a2ef0,#171a2ed1)}.service.is-open .service-visual{opacity:1}html{scroll-padding-top:7rem}:where(h1,h2,h3,h4,p,li,dd,a,button){overflow-wrap:anywhere}:is(button,a,summary):focus-visible{outline:3px solid white;outline-offset:2px;box-shadow:0 0 0 5px var(--ink)}.project-action:focus-visible,.service h3>button:focus-visible{outline-offset:-5px;box-shadow:none;outline-color:var(--ink)}.project-action:focus-visible,.service.is-open h3>button:focus-visible{outline-color:#fff}.collaborators-trigger:focus-visible{outline-color:var(--ink)}.site-header nav{flex-wrap:wrap}.site-header{flex-wrap:wrap}.project-grid,.project-grid--additional{grid-auto-rows:minmax(var(--project-row-height),auto)}.project-card,.project-action,.team-card-content,.project-dialog-columns>*{min-width:0}.project-action{min-height:100%;height:auto}.back-top,.project-external-link{display:inline-flex;align-items:center;min-height:2rem}@media(max-width:760px){.hero-content{padding-bottom:4rem}.site-header{flex-wrap:nowrap;gap:.5rem;padding-inline:clamp(12px,1rem,16px)}.site-header .brand{min-width:0;font-size:min(1.5rem,6vw)}.site-header .brand svg{width:1.5em;flex-shrink:1}.site-header nav{max-height:calc(100dvh - 8rem);overflow-y:auto}.site-header nav a:focus-visible{outline-color:var(--ink);outline-offset:-3px;box-shadow:none}.site-header nav>a:not(.button):is(:hover,:focus-visible){color:var(--teal)}.site-header nav>a:not(.button):after{background:var(--teal)}.projects-carousel-heading{flex-wrap:wrap}.projects-carousel-controls{margin-left:auto}.projects-carousel-slide{display:flex}.projects-carousel-slide .project-card{width:100%;height:auto;min-height:clamp(27rem,65svh,34rem)}.project-grid,.project-grid--additional{grid-auto-rows:auto}.team-card{--team-thumbnail-width: min(5rem, 25cqw)}.team-card:not(.is-active)>.team-photo{width:var(--team-thumbnail-width)}.team-card:not(.is-active) .team-card-content{margin-left:var(--team-thumbnail-width);width:calc(100% - var(--team-thumbnail-width));padding-left:clamp(12px,1rem,16px);padding-right:3.5rem}.team-card.is-active .team-card-content>h3,.team-card.is-active .team-card-content>p{padding-right:0;max-width:calc(100% - 3.25rem)}}@media(forced-colors:active){button,.button,.toggle-icon,.project-card,.project-facts{border:1px solid ButtonText}:focus-visible{outline:3px solid Highlight!important}}@media(max-width:760px){.site-footer .brand{font-size:min(1.75rem,8vw)}.button{max-width:100%;gap:clamp(8px,1.5rem,24px);padding-inline:clamp(16px,1.5rem,24px)}.button:has(>span[aria-hidden]){padding-right:24px}.button:has(>span[aria-hidden]):is(:hover,:focus-visible){padding-right:32px}.footer-grid nav{flex-wrap:wrap}}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid nav{min-width:0;flex-wrap:wrap;justify-content:flex-end}@media(max-width:1100px){.footer-grid{grid-template-columns:minmax(0,1fr)}.footer-grid nav{justify-content:flex-start}.footer-grid>*{grid-column:1}}.project-action[data-pointer-restored]:focus-visible{outline:none!important;box-shadow:none}svg.material-icon{width:1.5rem;height:1.5rem;display:inline-block;flex-shrink:0;vertical-align:middle;fill:currentColor;stroke:none}.toggle-icon .material-icon{grid-area:1 / 1;transition:opacity var(--motion-fast),transform var(--motion-slow) var(--motion-ease)}.toggle-icon .toggle-remove{opacity:0;transform:rotate(-90deg)}.toggle-icon.is-open .toggle-add{opacity:0;transform:rotate(90deg)}.toggle-icon.is-open .toggle-remove{opacity:1;transform:rotate(0)}@media(prefers-reduced-motion:reduce){.toggle-icon .material-icon{transition:none}}.hero-content>p{max-width:42rem}@media(min-width:761px){.team-card{display:flex;flex-direction:column}.team-card-content{flex:1}}@media(max-width:760px){.service h3>button>span:first-child{flex:0 1 calc(100% - 4rem);min-width:0}}.bio-opening-name{font-size:1.5rem;font-weight:600;line-height:1.3;color:#fff}.team-card>.team-photo{aspect-ratio:4 / 5}.team-photo img{object-position:center 35%}@media(max-width:760px){.team-card>.team-photo{aspect-ratio:auto}.team-card.is-active>.team-photo{height:125cqw;aspect-ratio:4 / 5}}@media(min-width:761px){.projects{--project-row-height: 26rem}.project-grid,.project-grid--additional{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(var(--project-row-height),auto)}.project-card--featured{grid-column:auto;grid-row:auto}.project-action{padding:2rem}.project-title,.project-card--featured .project-title{font-size:1.5rem;line-height:1.3;max-width:32rem}}.project-carousel{--carousel-inset: max(1.5rem, calc((100% - var(--content)) / 2));--carousel-card-width: min( calc((var(--content) - 2 * var(--project-gap)) / 3), calc((100vw - 3rem - 2 * var(--project-gap)) / 3) )}.project-carousel .projects-carousel-track{padding-inline:var(--carousel-inset);scroll-padding-inline-start:var(--carousel-inset);border-radius:0}@media(min-width:761px){.project-carousel .projects-carousel-slide{flex-basis:var(--carousel-card-width);display:flex}.project-carousel .project-card{width:100%;height:auto;min-height:26rem}.project-carousel .project-action{padding:2rem}.project-carousel .project-description{display:grid;opacity:0;margin-top:0;transform:translateY(.5rem)}.project-carousel .project-card:is(:hover,:focus-within) .project-description{opacity:1;margin-top:1rem;transform:none}.project-carousel .projects-carousel-counter{display:none}}@media(max-width:760px){.project-carousel .projects-carousel-slide{flex-basis:100%}}@media(min-width:761px){.project-carousel .project-action{padding:1.5rem}.project-carousel .project-title{font-size:1.25rem}}@media(min-width:761px)and (max-width:1100px){.project-carousel{--carousel-card-width: calc((100vw - 3rem - var(--project-gap)) / 2)}}.hero-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none}.hero-background .hero-image{z-index:0}.hero-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:0;transition:opacity .9s ease}.hero-video.is-visible{opacity:1}.hero-video-toggle{position:absolute;right:1.5rem;bottom:1.5rem;z-index:2;display:grid;place-items:center;width:3rem;height:3rem;padding:0;border:1px solid var(--mint);border-radius:50%;background:var(--ink);color:#fff;cursor:pointer;transition:background .18s ease,color .18s ease}.hero-video-toggle:hover{background:var(--teal)}.hero-video-toggle:focus-visible{outline:3px solid white;outline-offset:4px}@media(max-width:760px){.hero-content{padding-bottom:7rem}}@media(prefers-reduced-motion:reduce){.hero-video{transition:none}}@media(min-width:761px){.hero-overlay{background:linear-gradient(0deg,rgba(23,26,46,.55),transparent 60%),linear-gradient(90deg,#171a2ef5,#171a2ef0 42%,#171a2ed1 60%,#167c801f)}}@media(max-width:760px){.hero-overlay{background:linear-gradient(0deg,#171a2ee0,#171a2eb8)}}.hero-background{border-radius:inherit;overflow:hidden;isolation:isolate}.hero-video-toggle .material-icon{width:1.5rem;height:1.5rem}.project-action{text-decoration:none}.project-page-nav{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:2rem;flex-wrap:wrap}.project-page{max-width:52rem;padding-bottom:4rem}.project-page-image{width:100%;height:20rem;object-fit:cover;border-radius:var(--radius);margin-bottom:2rem}.project-page h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin-bottom:1.5rem;overflow-wrap:break-word}.project-page h2{font-size:1.5rem;margin-block:2rem 1rem}.project-page p,.project-page li{line-height:1.65}.project-page p{margin-bottom:1.25rem}.project-page ul{padding-left:1.5rem}.project-page dl{padding:1.5rem;background:var(--sage);border-radius:var(--radius)}.project-page dt{font-weight:700}.project-page dd{margin:0 0 1rem}.project-page a:not(.brand),.project-page-nav>a:not(.brand){text-decoration:underline;text-underline-offset:.2em}.hero-background,.hero-overlay{border-radius:var(--hero-radius)}:is(#top,#main,#about,#work,#projects,#people,#contact)[tabindex="-1"]:focus{outline:none;box-shadow:none}@media(min-width:761px){.about-work-link{display:none}}.contact-panel>.contact-background{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;z-index:-2}.contact-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#171a2ef0,#171a2ed1)}:root{--accent: #00aba5;--tangerine: #f7a16f}h1,h2,.projects-heading{font-weight:600}h3{font-weight:300}.brand img{width:12rem;height:auto;object-fit:contain}.site-footer .brand img{width:15rem}.about p,.project-page p{color:var(--muted)}.team-card:not(.is-active) h3{color:var(--teal)}.hero h1 span{color:var(--tangerine)}@media(max-width:760px){.brand img{width:10rem}}.toggle-icon,.collaborator-link-icon,.projects-carousel-controls button{transition:background-color var(--motion-fast),color var(--motion-fast),transform var(--motion-slow) var(--motion-ease),opacity var(--motion-fast)}.service h3>button:focus-visible .toggle-icon,.team-card:has(button:focus-visible) .toggle-icon,.team-bio button:focus-visible .toggle-icon,.collaborators-trigger:focus-visible .toggle-icon,.collaborator-entry:focus-visible .collaborator-link-icon,.projects-carousel-controls button:not([aria-disabled=true]):focus-visible{background:var(--teal);color:#fff;transform:scale(1.04);box-shadow:none}@media(hover:hover){.service h3>button:hover .toggle-icon,.team-card:hover .toggle-icon,.team-bio button:hover .toggle-icon,.collaborators-trigger:hover .toggle-icon,.collaborator-entry[href]:hover .collaborator-link-icon,.projects-carousel-controls button:not([aria-disabled=true]):hover{background:var(--teal);color:#fff;transform:scale(1.04);box-shadow:none}}
