@import"https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@300;400&display=swap";:root{--ink: rgb(15 17 17);--muted: rgb(108 117 117);--hairline: rgb(15 17 17 / 22%);--paper: #fffdf7;--content-width: 1008px;--gutter: 16px;--serif: "Crimson Pro", Georgia, serif;--sans: "Plus Jakarta Sans", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*:before,*:after{box-sizing:inherit}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;background:var(--paper)}body,button,input,textarea,select{font:inherit}button,input,textarea,select{margin:0;color:inherit}img,picture,svg,video,canvas{display:block;max-width:100%}img,video{height:auto}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.25em}::selection{background:#d9ecff;color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.serif-italic{font-family:var(--serif);font-style:italic;font-weight:300}.mono-label{font-family:var(--mono);font-size:.75rem;font-weight:300;letter-spacing:-.02em;line-height:1.8}.content-width{width:min(var(--content-width),calc(100% - (var(--gutter) * 2)));margin-right:auto;margin-left:auto}.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;border-radius:999px;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:.875rem;font-weight:500;letter-spacing:-.02em;line-height:1;text-decoration:none;transition:transform .16s ease}.pill:hover{transform:scale(1.04)}.pill__arrow{font-size:1rem;line-height:1}.site-layout{padding-top:4.5rem}.site-header{position:fixed;z-index:10;top:0;right:0;left:0;border-bottom:1px solid transparent;background:#fffdf7d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.site-header__inner{display:flex;align-items:center}.site-header__brand{margin-right:auto;font-family:var(--mono);font-size:.8rem;font-weight:300;text-decoration:none}.site-header__nav{display:flex;align-items:center;gap:clamp(.9rem,2vw,1.75rem);min-height:4.5rem}.site-header__nav a{font-family:var(--sans);font-size:.85rem;font-weight:500;letter-spacing:-.03em;text-decoration:none}.site-header__nav a:not(.pill):hover{text-decoration:underline}.site-header__nav .pill{padding:.45rem 1rem;font-size:.8125rem}.site-header__menu-toggle{display:none}.site-footer{margin-top:8rem;border-top:1px solid var(--hairline)}.site-footer__inner{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem 2.5rem;padding:2rem 0;font-family:var(--mono);font-size:.75rem}.site-footer p{margin:0}.site-footer__location,.site-footer__year{color:var(--muted)}.home-page{overflow:clip}.home-page__intro{display:grid;align-content:space-between;gap:2rem;padding-top:clamp(4rem,8vw,7rem);padding-bottom:clamp(3rem,6vw,5rem)}.home-page__eyebrow{margin:0;color:var(--muted);font-family:var(--sans);font-size:.75rem;letter-spacing:0}.section-title{width:fit-content;padding:.55rem 1rem;border-radius:999px;border:1px solid var(--hairline)}.home-page__intro h1{max-width:100%;margin:0;font-family:var(--serif);font-size:54px;font-weight:300;letter-spacing:-.04em;line-height:1.09}.home-page__intro h1 em{font-style:italic;color:#ff6b2c;margin:0 -.4em;padding:.1em .4em;border-radius:.8em .3em;background:transparent;background-image:linear-gradient(to right,#ff6b2c1a,#ff6b2c33 4%,#ff6b2c1a);-webkit-box-decoration-break:clone;box-decoration-break:clone}.home-page__intro h1>span{display:block}.home-page__sub{max-width:none;margin:0;font-family:var(--mono);font-size:14px;font-weight:300;letter-spacing:-.02em;line-height:1.85}.home-page__sub>span{display:block;white-space:nowrap}.home-page__labels{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:0;padding-top:1.5rem;border-top:1px solid var(--hairline);color:var(--muted);font-family:var(--mono);font-size:.72rem}.systems-showcase{padding-top:clamp(1rem,3vw,3rem)}.systems-showcase>.section-title{margin-bottom:clamp(1.25rem,2.5vw,2rem)}.systems-showcase__row>a{display:grid;grid-template-columns:minmax(9rem,10rem) minmax(12rem,1.15fr) minmax(0,2.35fr) auto;column-gap:clamp(1rem,3vw,3rem)}.systems-showcase__ledger{margin:0;padding:0;list-style:none}.systems-showcase__row{border-bottom:1px solid var(--hairline)}.systems-showcase__row>a{align-items:start;min-width:0;min-height:8rem;padding:clamp(1.75rem,3vw,2.25rem) 0;color:inherit;text-decoration:none;transition:color .16s ease}.systems-showcase__name{font-family:var(--serif);font-size:20px;font-weight:300;letter-spacing:-.05em;line-height:1}.systems-showcase__capability,.systems-showcase__open{color:var(--muted);font-family:var(--sans);font-size:.875rem;font-weight:300;line-height:1.45}.systems-showcase__detail{max-width:35rem;font-family:var(--mono);font-size:.82rem;font-weight:300;letter-spacing:-.01em;line-height:1.55}.systems-showcase__open{font-size:1rem;line-height:1;transition:transform .16s ease}.systems-showcase__row>a:hover .systems-showcase__name,.systems-showcase__row>a:focus-visible .systems-showcase__name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}.systems-showcase__row>a:hover .systems-showcase__open,.systems-showcase__row>a:focus-visible .systems-showcase__open{transform:translate(.15rem,-.15rem)}.home-page__work{padding-top:clamp(3rem,8vw,8rem);scroll-margin-top:5.5rem}.work-page{min-height:calc(100svh - 4.5rem);padding-top:clamp(4rem,10vw,9rem);padding-bottom:clamp(5rem,10vw,9rem)}.work-page__eyebrow{margin:0 0 2rem;color:var(--muted);font-family:var(--sans);font-size:.75rem}.work-page h1{max-width:10ch;margin:0;font-family:var(--serif);font-size:54px;font-weight:300;letter-spacing:-.05em;line-height:1}.work-page__intro{max-width:34rem;margin:1.5rem 0 clamp(4rem,8vw,7rem);font-family:var(--mono);font-size:.875rem;font-weight:300;letter-spacing:-.03em;line-height:1.8}.home-page__section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 2.5rem}.home-page__section-heading h2{margin:0;font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:300;letter-spacing:-.05em}.home-page__section-heading p{margin:0;color:var(--muted);font-family:var(--mono);font-size:.75rem}.work-gallery{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:clamp(1rem,2.5vw,2rem);margin-bottom:clamp(4rem,8vw,8rem)}.work-gallery__item{display:block;text-decoration:none}.work-gallery__item:nth-child(2){align-self:end}.work-gallery__item:nth-child(3){margin-top:-13.8889%}.work-gallery__frame{overflow:hidden;border-radius:20px;background:#f2f2ef;transition:transform .2s ease}.work-gallery__frame--large{aspect-ratio:4 / 3}.work-gallery__frame--side{aspect-ratio:3 / 4}.work-gallery__item:nth-child(4){display:flex;flex-direction:column}.work-gallery__item:nth-child(4) .work-gallery__frame{flex:1;min-height:0}.work-gallery__item:hover .work-gallery__frame{transform:translateY(-4px)}.work-gallery__frame img{width:100%;height:100%;object-fit:cover}.work-gallery__caption{display:flex;justify-content:space-between;gap:1rem;margin:.85rem .25rem 0;font-family:var(--sans);font-size:.85rem;font-weight:400;letter-spacing:-.02em}.work-gallery__caption span:last-child{color:var(--muted);font-family:var(--sans);font-size:.75rem}.project-index{margin:0;padding:0;list-style:none}.project-index__item{position:relative;border-bottom:1px solid var(--hairline)}.project-index__link{display:grid;grid-template-columns:minmax(2rem,.3fr) minmax(0,4fr) minmax(6rem,1fr) minmax(2.5rem,.3fr);gap:1rem;align-items:baseline;padding:clamp(1.1rem,2.4vw,2rem) 0;text-decoration:none}.project-index__item:first-child{border-top:1px solid var(--hairline)}.project-index__number,.project-index__discipline,.project-index__year{font-family:var(--sans);font-size:.78rem;font-weight:300;color:var(--muted)}.project-index__title{font-family:var(--sans);font-size:14px;font-weight:300;letter-spacing:-.02em;line-height:1.2;transition:font-style .1s ease}.project-index__item:hover .project-index__title,.project-index__item:focus-within .project-index__title{font-style:italic;font-family:var(--serif);font-size:18px}.project-index__year{text-align:right}.project-index__preview{position:absolute;z-index:1;top:50%;right:clamp(1rem,10vw,14rem);width:min(24vw,22rem);overflow:hidden;border-radius:14px;object-fit:cover;pointer-events:none;opacity:0;transform:translateY(-50%) scale(.96);transition:opacity .18s ease,transform .24s ease}.project-index__item:hover .project-index__preview,.project-index__item:focus-within .project-index__preview{opacity:1;transform:translateY(-50%) scale(1)}.home-page__archive{padding-top:clamp(1rem,3vw,3rem)}.home-page__practice{padding-top:clamp(6rem,14vw,13rem);padding-bottom:clamp(5rem,10vw,9rem);border-radius:20px}.home-page__practice h2,.home-page__practice-stories{margin:0}.home-page__practice h2{max-width:26ch;margin-bottom:clamp(2rem,4vw,3.5rem);font-family:var(--serif);font-size:40px;font-weight:300;letter-spacing:-.05em;line-height:1.09}.home-page__practice-stories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem clamp(1.5rem,4vw,3rem)}.home-page__practice-story{display:flex;flex-direction:column;justify-content:flex-start}.home-page__practice-story p{margin:0;max-width:35rem;font-family:var(--mono);font-size:14px;font-weight:300;letter-spacing:-.05em;line-height:1.8}.home-page__practice-story p+p{margin-top:1em}.home-page__contact{min-height:65vh;display:grid;align-content:center;gap:2rem;padding-top:clamp(6rem,14vw,13rem);padding-bottom:clamp(6rem,12vw,12rem)}.home-page__contact h2{max-width:12ch;margin:0;font-family:var(--serif);font-size:clamp(2.6rem,6.5vw,6rem);font-weight:300;letter-spacing:-.05em;line-height:1.02}.home-page__contact h2 em{font-style:italic}.home-page__contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.75rem}.home-page__contact-links a:not(.pill){font-family:var(--sans);font-size:1.05rem;font-weight:500;letter-spacing:-.03em;text-decoration:none;border-bottom:1px solid var(--ink)}.home-page__contact-links a:not(.pill):hover{border-bottom-width:2px}.about-page{overflow:clip}.about-page__intro{padding-top:clamp(4rem,10vw,9rem);padding-bottom:clamp(5rem,10vw,9rem)}.about-page__eyebrow{margin:0 0 2rem;color:var(--muted);font-family:var(--sans);font-size:.75rem}.about-page h1{max-width:12ch;margin:0;font-family:var(--serif);font-size:54px;font-weight:300;letter-spacing:-.05em;line-height:1}.about-page h1 em{font-style:italic}.about-page__bio{max-width:40rem;margin:1.5rem 0 0;font-family:var(--mono);font-size:.875rem;font-weight:300;letter-spacing:-.03em;line-height:1.9}.about-page__roles{display:grid;margin:clamp(4rem,8vw,7rem) 0 0;padding:0;list-style:none;border-top:1px solid var(--hairline)}.about-page__role{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 6.5rem;align-items:baseline;justify-items:start;gap:1rem 2rem;padding:1.4rem 0;border-bottom:1px solid var(--hairline)}.about-page__company{font-family:var(--sans);font-size:.75rem;font-weight:500;letter-spacing:-.03em}.about-page__position,.about-page__period{color:var(--muted);font-family:var(--mono);font-size:.75rem;letter-spacing:-.02em}.about-page__contact{display:grid;gap:2rem;padding-top:clamp(5rem,11vw,11rem);padding-bottom:clamp(5rem,9vw,9rem);border-top:1px solid var(--hairline)}.about-page__contact h2{margin:0;font-family:var(--serif);font-size:clamp(2.2rem,5vw,4.5rem);font-weight:300;letter-spacing:-.05em}.about-page__links{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.75rem}.about-page__links a:not(.pill){font-family:var(--sans);font-size:1.05rem;font-weight:500;letter-spacing:-.03em;text-decoration:none;border-bottom:1px solid var(--ink)}.about-page__links a:not(.pill):hover{border-bottom-width:2px}.case-study-page{padding-top:clamp(2rem,5vw,5rem)}.case-study__hero{padding-bottom:clamp(3rem,7vw,7rem);border-bottom:1px solid var(--hairline)}.case-study__hero-copy{max-width:72rem}.case-study__eyebrow{margin:0;color:var(--muted);font-family:var(--sans);font-size:.78rem}.case-study h1{max-width:28ch;margin:1.25rem 0 1.75rem;font-family:var(--serif);font-size:54px;font-weight:300;letter-spacing:-.05em;line-height:1.02}.case-study__summary{max-width:36rem;margin:0;font-family:var(--mono);font-size:1rem;font-weight:300;letter-spacing:-.02em;line-height:1.6}.case-study__hero-meta{margin:1.5rem 0 0;color:var(--muted);font-family:var(--sans);font-size:.78rem}.case-study__hero-figure,.case-study__media{overflow:hidden;margin:clamp(2rem,5vw,5rem) 0 0;border-radius:20px;background:#f2f2ef}.case-study__content .case-study__media{margin-top:clamp(1rem,2vw,2rem)}.case-study__content .case-study__media+p{margin-top:clamp(1rem,2vw,2rem)}.case-study__media--contained{display:flex;align-items:center;justify-content:center;padding:0;background:#f2f2ef}.case-study__media--bottom{display:flex;align-items:flex-end;justify-content:center;background:#f2f2ef}.case-study__media.case-study__media--bottom picture,.case-study__media.case-study__media--bottom img{display:block;width:auto;max-width:80%;height:auto;max-height:calc(100% - clamp(1.5rem,4vw,3rem));margin-top:clamp(1.5rem,4vw,3rem);object-fit:contain}.case-study__media.case-study__media--bottom-flush picture,.case-study__media.case-study__media--bottom-flush img{max-height:100%;margin-top:0}.case-study__media--top{display:flex;align-items:flex-start;justify-content:center}.case-study__media.case-study__media--top picture,.case-study__media.case-study__media--top img{display:block;width:100%;height:auto;margin-top:clamp(2rem,5vw,3.5rem);object-fit:contain}.case-study__media--narrow{display:flex;align-items:flex-start;justify-content:center;overflow:hidden;padding:clamp(1.5rem,4vw,3rem) clamp(1.5rem,4vw,3rem) 0;background:#e9e7e0}.case-study__media.case-study__media--narrow picture,.case-study__media.case-study__media--narrow img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.case-study__media--narrow-center{align-items:center;padding:clamp(1.5rem,4vw,3rem)}.case-study__media--dark{background:#14151a}.case-study__media.case-study__media--narrow-center picture,.case-study__media.case-study__media--narrow-center img{height:auto;object-fit:contain;object-position:center}.case-study__media.case-study__media--contained picture,.case-study__media.case-study__media--contained img{display:block;width:auto;max-width:100%;height:auto;max-height:clamp(18rem,62vw,36rem);object-fit:contain}.case-study__media-row{display:grid;grid-template-columns:repeat(var(--media-row-count, 2),minmax(0,1fr));gap:clamp(.75rem,2vw,1.25rem);margin-top:clamp(1rem,2vw,2rem)}.case-study__media-row-card{overflow:hidden;margin:0;border-radius:20px;background:#f2f2ef}.case-study__media-row-card picture,.case-study__media-row-card img{display:block;width:100%;height:100%;object-fit:cover}.case-study__content .case-study__media-row+p{margin-top:clamp(1rem,2vw,2rem)}.case-study__media-group{display:flex;flex-direction:column;gap:2.5rem;width:100%;margin-top:clamp(1rem,2vw,2rem);overflow:hidden}.case-study__media-group-wide,.case-study__media-group-panel{overflow:hidden;margin:0;border-radius:20px;background:#f2f2ef}.case-study__media-group-wide{background:#c3bdc8;aspect-ratio:5348 / 1777}.case-study__media-group-row{display:flex;gap:2.5rem;width:100%}.case-study__media-group-panel{display:flex;flex:1 0 0;align-items:center;justify-content:center;min-width:0;min-height:clamp(20rem,40vw,25rem);background:#ddd}.case-study__media-group-panel-media{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.case-study__media-group-panel-media--multi{align-items:flex-start;gap:0;padding-top:16%}.case-study__media-group-frame{position:relative;flex:none;overflow:hidden}.case-study__media-group-panel--portrait .case-study__media-group-frame{width:min(210px,70%);aspect-ratio:1120 / 1636}.case-study__media-group-panel--landscape .case-study__media-group-frame{width:min(248px,80%);aspect-ratio:1120 / 736}.case-study__media-group-row--nested .case-study__media-group-panel--feature .case-study__media-group-panel-media{align-items:stretch;padding-top:0}.case-study__media-group-row--nested .case-study__media-group-panel--feature .case-study__media-group-frame{width:100%;aspect-ratio:2880 / 3300}.case-study__media-group-row--nested .case-study__media-group-panel--multi .case-study__media-group-frame--multi-1{width:min(233px,58%);aspect-ratio:720 / 1600}.case-study__media-group-row--nested .case-study__media-group-panel--multi .case-study__media-group-frame--multi-2{width:min(249px,62%);margin-left:-8%;aspect-ratio:720 / 1600}.case-study__media-group-wide picture,.case-study__media-group-frame picture{display:block;width:100%;height:100%}.case-study__media-group-wide img,.case-study__media-group-frame img{width:100%;height:100%;object-fit:cover}.case-study__media-group-row--nested .case-study__media-group-panel--feature .case-study__media-group-frame img{object-fit:fill}.case-study__hero-figure img,.case-study__media img{width:100%;height:100%;object-fit:cover}.case-study__media picture{display:block;width:100%;height:100%}.case-study__grid{display:grid;gap:clamp(3rem,8vw,9rem);padding:clamp(3rem,7vw,8rem) 0}.case-study__details{padding-bottom:2rem;border-bottom:1px solid var(--hairline)}.case-study__details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem;margin:0 0 1.75rem}.case-study__details dt{margin-bottom:.4rem;color:var(--muted);font-family:var(--sans);font-size:.72rem}.case-study__details dd{margin:0;font-family:var(--sans);font-size:.9rem;font-weight:400;letter-spacing:-.02em;line-height:1.5}.case-study__details a,.case-study__navigation a{font-family:var(--sans);font-size:.85rem;font-weight:500;letter-spacing:-.02em}.not-found-page a{font-family:var(--sans);font-size:.85rem;font-weight:500}.case-study__content{max-width:44rem}.case-study__section+.case-study__section{margin-top:clamp(3rem,7vw,7rem)}.case-study__section h2{margin:0 0 1.25rem;font-family:var(--serif);font-size:clamp(1.8rem,3.6vw,3.4rem);font-style:italic;font-weight:300;letter-spacing:-.045em;line-height:1.05}.case-study__section p{max-width:38rem;margin:0;font-family:var(--mono);font-size:.875rem;font-weight:300;letter-spacing:-.03em;line-height:1.9}.case-study__section p+p{margin-top:1rem}.case-study__section .case-study__subtitle{max-width:38rem;margin:0;font-family:var(--sans);font-size:1.05rem;font-weight:600;letter-spacing:-.01em;line-height:1.4;color:var(--ink)}.case-study__section p+.case-study__subtitle,.case-study__content .case-study__media+.case-study__subtitle{margin-top:clamp(2rem,4vw,3rem)}.case-study__section .case-study__subtitle+p{margin-top:.5rem}.case-study__stat{display:inline-flex;flex-direction:column;gap:.1rem;margin:.85rem 0 0;padding:.35rem .7rem;border-left:3px solid rgb(214 32 32);border-radius:0 6px 6px 0}.case-study__section .case-study__stat+.case-study__stat{margin-top:0;margin-left:1.25rem}@media(max-width:480px){.case-study__section .case-study__stat+.case-study__stat{margin-top:.85rem;margin-left:0}}.case-study__stat-value{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--sans);font-size:1.1rem;font-weight:800;letter-spacing:-.01em}.case-study__stat-icon{flex:none}.case-study__stat--accent{background:#d620201f}.case-study__stat--accent .case-study__stat-value{color:#c71919}.case-study__stat--positive{border-left-color:#15803d;background:#15803d1f}.case-study__stat--positive .case-study__stat-value{color:#0f6e37}.case-study__stat-label{font-family:var(--mono);font-size:.68rem;letter-spacing:-.02em;color:var(--muted)}.case-study__section .case-study__list{max-width:38rem;margin:1rem 0 0;padding-left:1.35rem;font-family:var(--mono);font-size:.875rem;font-weight:300;letter-spacing:-.03em;line-height:1.9;list-style:disc}.case-study__section .case-study__list+p,.case-study__section .case-study__list+.case-study__list{margin-top:1rem}.case-study__section .case-study__list li+li{margin-top:.35rem}.case-study__navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;padding:2rem 0;border-top:1px solid var(--hairline)}.case-study__navigation a:last-child{text-align:right}.not-found-page{display:grid;align-content:center;min-height:calc(100svh - 4.5rem);padding-top:clamp(2rem,6vw,7rem);padding-bottom:clamp(2rem,6vw,7rem)}.not-found-page__eyebrow{margin:0;color:var(--muted);font-family:var(--sans);font-size:.78rem}.not-found-page h1{max-width:11ch;margin:1.25rem 0 1.75rem;font-family:var(--serif);font-size:54px;font-weight:300;letter-spacing:-.05em;line-height:1.02}@keyframes reveal{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}.reveal{animation:reveal .6s cubic-bezier(.22,1,.36,1) both}@media(min-width:1440px){:root{--content-width: 1120px;--gutter: 40px}}@media(min-width:900px){:root{--gutter: 32px}.case-study__grid{grid-template-columns:minmax(11rem,.8fr) minmax(0,2fr)}.case-study__details{position:sticky;top:6.5rem;align-self:start;padding-bottom:0;border-bottom:0}.case-study__details dl{display:block}.case-study__details dl>div+div{margin-top:1.5rem}}@media(min-width:811px){.case-study__media-group{aspect-ratio:1}.case-study__media-group-row{flex:1 0 0;min-height:0}.case-study__media-group-panel{min-height:0}}@media(max-width:810px){.case-study__media-group-row{flex-direction:column}.case-study__media-group-panel{min-height:20rem}.case-study__media-group-panel--portrait .case-study__media-group-frame{width:min(176px,70%)}.case-study__media-group-row--nested .case-study__media-group-panel--feature .case-study__media-group-panel-media{align-items:stretch;padding-top:0}.case-study__media-group-row--nested .case-study__media-group-panel--feature .case-study__media-group-frame{width:100%}.case-study__media-group-row--nested .case-study__media-group-panel--multi .case-study__media-group-panel-media--multi{padding-top:12%}.case-study__media-group-row--nested .case-study__media-group-panel--multi .case-study__media-group-frame--multi-1{width:min(200px,58%)}.case-study__media-group-row--nested .case-study__media-group-panel--multi .case-study__media-group-frame--multi-2{width:min(202px,60%)}}@media(max-width:600px){.home-page__intro h1{font-size:clamp(2.75rem,11vw,3.4rem);line-height:1.05}.home-page__intro h1>span{display:inline}.work-page h1,.about-page h1,.case-study h1,.not-found-page h1{font-size:40px}.home-page__practice h2{font-size:32px}.systems-showcase__name{font-size:22px}.case-study__summary{font-size:.9rem}}@media(max-width:700px){.home-page__sub>span{white-space:normal}.systems-showcase__row>a{grid-template-columns:minmax(0,1fr) auto;gap:.4rem 1rem;min-height:0;padding:1.25rem 0}.systems-showcase__capability{grid-column:1}.systems-showcase__open{grid-column:2;grid-row:2}.systems-showcase__detail{grid-column:1 / -1}.work-gallery{grid-template-columns:1fr}.work-gallery__item:nth-child(3){margin-top:0}.home-page__practice-stories{grid-template-columns:1fr}}@media(max-width:480px){.home-page__work{scroll-margin-top:5.5rem}.work-gallery__caption{flex-direction:column;gap:.3rem}.site-header__inner{min-height:4.5rem}.site-header__menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;margin-left:.5rem;border:0;background:none;color:var(--ink);cursor:pointer;opacity:.85;transition:opacity .16s ease}.site-header__menu-toggle:hover{opacity:1}.site-header__nav{position:absolute;top:100%;right:0;left:0;flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:.5rem 0;background:var(--paper);border-bottom:1px solid var(--hairline);box-shadow:0 12px 24px #0f111114;visibility:hidden;opacity:0;transform:translateY(-.5rem);transition:opacity .16s ease,transform .16s ease,visibility .16s}.site-header__nav--open{visibility:visible;opacity:1;transform:translateY(0)}.site-header__nav a:not(.pill){padding:.85rem var(--gutter);font-size:.95rem}.site-header__nav .pill{margin:.4rem var(--gutter) .25rem;justify-content:center}.site-footer{margin-top:5rem}.site-footer__inner{padding:1.5rem 0;font-size:.7rem}.about-page__role{grid-template-columns:minmax(0,1fr) auto;gap:.35rem 1rem}.about-page__position{grid-column:1 / -1;order:3}.home-page__section-heading-meta{display:none}.project-index__link{grid-template-columns:1.75rem minmax(0,1fr) auto;gap:.65rem}.project-index__discipline{display:none}.project-index__preview{right:.5rem;width:60vw}.case-study-page{padding-top:1.5rem}.case-study__details dl{grid-template-columns:1fr}.case-study__navigation{grid-template-columns:1fr;gap:1.25rem}.case-study__navigation a:last-child{text-align:left}.not-found-page{min-height:calc(100svh - 4rem)}}@media(max-width:380px){.site-header__brand{font-size:.7rem}.work-page h1,.about-page h1,.case-study h1,.not-found-page h1{font-size:34px}.home-page__contact h2{font-size:clamp(2.2rem,9vw,3rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}.reveal{animation:none!important;opacity:1;transform:none}}.sei-cursor{position:fixed;z-index:60;top:0;left:0;pointer-events:none;will-change:transform}.sei-cursor__mark{transition:opacity .5s ease}.sei-cursor__pointer{color:#ff5a5f;filter:drop-shadow(0 1px 2px rgb(0 0 0 / 30%))}.sei-cursor__tag{position:absolute;top:20px;left:20px;padding:.2rem .5rem;border-radius:999px;background:#ff5a5f;color:#fff;font-family:var(--sans);font-size:.7rem;font-weight:500;line-height:1;white-space:nowrap}.sei-cursor__bubble{position:absolute;top:48px;left:0;width:max-content;max-width:min(22rem,calc(100vw - 56px));padding:.7rem .95rem;border-radius:2px 14px 14px;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:.85rem;font-weight:400;letter-spacing:-.01em;line-height:1.5;box-shadow:0 8px 30px #0f11112e}.sei-reply{position:fixed;z-index:61;right:16px;bottom:16px;display:flex;gap:.5rem;align-items:center;padding:.5rem;border-radius:999px;background:var(--paper);border:1px solid var(--hairline);box-shadow:0 8px 30px #0f11111f}.sei-dock{position:fixed;z-index:61;right:16px;bottom:16px;display:flex;align-items:flex-end;gap:.5rem}.sei-dock .sei-reply{position:static;box-shadow:0 8px 30px #0f11111f}.sei-chat-launcher{position:relative;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);cursor:pointer;box-shadow:0 8px 30px #0f111138;transition:transform .16s ease}.sei-chat-launcher:hover{transform:scale(1.05)}.sei-chat-launcher--unread{animation:sei-launcher-pulse 1.8s ease-in-out infinite}.sei-chat-launcher__badge{position:absolute;top:4px;right:4px;width:11px;height:11px;border:2px solid var(--paper);border-radius:50%;background:#ff5a5f}@keyframes sei-launcher-pulse{0%,to{box-shadow:0 8px 30px #0f111138,0 0 #ff5a5f73}50%{box-shadow:0 8px 30px #0f111138,0 0 0 8px #ff5a5f00}}.sei-chat{display:flex;flex-direction:column;width:min(22rem,calc(100vw - 88px));height:min(34rem,80vh);border-radius:16px;background:var(--paper);border:1px solid var(--hairline);box-shadow:0 12px 40px #0f111129;overflow:hidden;animation:sei-chat-in .2s ease-out both}@keyframes sei-chat-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.sei-chat{animation:none}}.sei-dock--mobile{right:12px;bottom:12px}.sei-dock--mobile .sei-chat{width:calc(100vw - 24px);height:min(32rem,75vh)}.sei-chat__header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-bottom:1px solid var(--hairline)}.sei-chat__identity{display:flex;align-items:baseline;gap:.4rem}.sei-chat__name{font-family:var(--sans);font-size:.9rem;font-weight:600;color:var(--ink)}.sei-chat__tagline{font-family:var(--sans);font-size:.72rem;color:var(--muted, #6b6b6b)}.sei-chat__messages{flex:1;display:flex;flex-direction:column;gap:.45rem;padding:.65rem;overflow-y:auto}.sei-chat__group{display:flex;flex-direction:column;gap:.3rem}.sei-chat__day{align-self:center;margin:.25rem 0;padding:.15rem .6rem;border-radius:999px;background:#f0eeea;color:var(--muted, #6b6b6b);font-family:var(--sans);font-size:.68rem}.sei-chat__msg{max-width:85%;padding:.45rem .65rem;border-radius:12px;font-family:var(--sans);font-size:.8rem;line-height:1.4;white-space:pre-wrap}.sei-chat__msg--loading{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem}.sei-chat__dots{display:inline-flex;align-items:center;gap:.16rem;height:1em}.sei-chat__dots span{width:.3em;height:.3em;border-radius:50%;background:currentColor;animation:sei-dot 1.2s infinite}.sei-chat__dots span:nth-child(2){animation-delay:.2s}.sei-chat__dots span:nth-child(3){animation-delay:.4s}.sei-reply__send .sei-chat__dots{gap:.18rem;height:1em}.sei-reply__send .sei-chat__dots span{width:.36em;height:.36em}@keyframes sei-dot{0%,60%,to{opacity:.2}30%{opacity:1}}.sei-chat__msg--assistant{align-self:flex-start;background:var(--ink);color:var(--paper);border-bottom-left-radius:4px}.sei-chat__msg--user{align-self:flex-end;background:#e9e7e0;color:var(--ink);border-bottom-right-radius:4px}.sei-chat__footer{flex:0 0 auto}.sei-chat__footer .sei-reply{width:100%;position:static;box-shadow:none;border:0;border-top:1px solid var(--hairline);border-radius:0}.sei-chat__footer .sei-reply__input{min-width:0;flex:1 1 auto}.sei-chat-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;border:0;border-radius:999px;background:transparent;color:var(--ink);cursor:pointer;transition:background .16s ease}.sei-chat-toggle:hover{background:#f0eeea}.sei-reply__input{min-width:14rem;border:0;padding:.3rem .5rem;background:transparent;font-size:.85rem}.sei-reply__input:focus{outline:none}.sei-reply__input:disabled{opacity:.5}.sei-reply__send{border:0;border-radius:999px;padding:0 .9rem;height:2.15rem;min-width:4.2rem;justify-content:center;background:var(--ink);color:var(--paper);font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}.sei-reply__send:disabled{opacity:.75;cursor:default}.sei-reply__spinner{width:.7rem;height:.7rem;border:2px solid rgb(255 253 247 / 40%);border-top-color:var(--paper);border-radius:50%;animation:sei-spin .7s linear infinite}@keyframes sei-spin{to{transform:rotate(360deg)}}.ascii-city{position:relative;height:70vh;min-height:420px;margin-top:0;margin-bottom:0;overflow:hidden;background:var(--paper)}.ascii-city__canvas,.ascii-city__fallback{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}@media(prefers-reduced-motion:reduce){.ascii-city{height:46vh;min-height:320px}}.ascii-city-dbg{position:absolute;right:12px;top:12px;z-index:3;font-family:var(--mono);font-size:11px;color:#d8e2f0}.ascii-city-dbg__toggle{width:24px;height:24px;border:1px solid rgb(255 255 255 / 30%);background:#0a0c14b3;color:inherit;cursor:pointer}.ascii-city-dbg__grid{display:grid;gap:6px;padding:10px;border:1px solid rgb(255 255 255 / 30%);background:#0a0c14d9;width:210px}.ascii-city-dbg__grid label{display:flex;justify-content:space-between;align-items:center;gap:8px}.ascii-city-dbg__stats{opacity:.7}
