@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Geist+Mono:wght@400;500&family=Geist:wght@300;400;500;600&family=Bagel+Fat+One&display=swap";:root,:root[data-theme=light]{--bg: #F6F2EC;--ink: #1A1A1A;--muted: rgba(26, 26, 26, .62);--rule: rgba(26, 26, 26, .14);--rule-strong: rgba(26, 26, 26, .28);--card-bg: #ECE7DD}:root[data-theme=dark]{--bg: #000000;--ink: #FFFFFF;--muted: rgba(255, 255, 255, .62);--rule: rgba(255, 255, 255, .16);--rule-strong: rgba(255, 255, 255, .28);--card-bg: #111111}:root{--max: 1440px;--pad: 40px;--pad-y: 160px;--serif: "Instrument Serif", "Times New Roman", Georgia, serif;--sans: "Geist", -apple-system, BlinkMacSystemFont, "Helvetica Neue", system-ui, sans-serif;--mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--dot-red: #F25E5E;--dot-green: #5DD39E;--dot-blue: #6BA8F0;--dot-orange: #F2A55D;--dot-purple: #B68CF0;--dot-yellow: #F0D055;--dot-pink: #F08CC4}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .32s ease,color .32s ease}body{font-size:16px;line-height:1.5;overflow-x:hidden}::selection{background:var(--ink);color:var(--bg)}a{color:inherit;text-decoration:none}.page{min-height:100vh}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:26px var(--pad);background:transparent;transition:background .28s ease,backdrop-filter .28s ease}.site-header.is-scrolled{background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.theme-dot{width:18px;height:18px;border-radius:50%;background:var(--ink);border:0;padding:0;cursor:pointer;justify-self:start;transition:transform .24s ease,opacity .2s ease,box-shadow .24s ease}.theme-dot:hover{transform:scale(1.15);opacity:.85}.theme-dot:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 30%,transparent)}.brand{justify-self:center;display:inline-flex;align-items:center;color:var(--ink);text-decoration:none;line-height:1;min-width:max-content;transition:opacity .2s ease}.brand:hover{opacity:.7}.nav-link{justify-self:end;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em;text-decoration:underline;text-underline-offset:4px;opacity:.9}.nav-link:hover{opacity:1}.hero{position:relative;padding:220px var(--pad) 80px;max-width:var(--max);margin:0 auto;display:flex;align-items:flex-start;justify-content:center;text-align:center}.hero-headline{font-family:var(--serif);font-weight:400;font-style:normal;font-size:clamp(40px,6.6vw,108px);line-height:1.02;letter-spacing:-.012em;margin:0;max-width:1280px;text-wrap:balance;position:relative;z-index:2}.hero-headline em{font-style:italic}.hero>.mascot.hero-ill-hand,.hero>.mascot.hero-ill-sketch{position:absolute;color:var(--ink);z-index:1;pointer-events:none;left:auto;right:auto;width:clamp(120px,12vw,188px);height:auto}.hero>.mascot.hero-ill-hand{top:240px;right:24px}.hero>.mascot.hero-ill-sketch{left:24px;top:420px}.areas{padding:40px var(--pad) 20px;max-width:var(--max);margin:0 auto;text-align:center}.areas-label{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);opacity:.85;margin-bottom:22px}.areas-row{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;font-family:var(--serif);font-size:clamp(16px,1.7vw,24px);letter-spacing:-.005em;line-height:1.2}.areas-row .item{padding:0 6px;transition:opacity .2s ease}.areas-row .item:hover{opacity:.6}.areas-row .dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 10px 4px;vertical-align:middle}.work{padding:130px var(--pad) var(--pad-y);max-width:var(--max);margin:0 auto}.work-label{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);opacity:.7;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--rule)}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:64px 48px}.proj-card{display:block;cursor:pointer;text-decoration:none;color:inherit;min-width:0}.proj-card-art{position:relative;overflow:hidden;border-radius:8px;background:var(--card-bg);aspect-ratio:16 / 11;transition:transform .32s cubic-bezier(.2,.8,.2,1)}.proj-card:hover .proj-card-art{transform:translateY(-4px)}.proj-card-art svg,.proj-card-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 18%}.proj-card-art .proj-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:clamp(48px,6vw,96px);letter-spacing:-.01em;line-height:1}.proj-card-info{margin-top:18px;display:grid;grid-template-columns:1fr auto;column-gap:16px;row-gap:6px;align-items:baseline}.proj-card-info .name{font-family:var(--serif);font-size:22px;letter-spacing:-.005em;line-height:1.1;font-weight:400}.proj-card-info .status{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.85;border:1px solid currentColor;border-radius:9999px;padding:3px 9px 4px}.proj-card-info .desc{grid-column:1 / -1;font-family:var(--sans);font-size:15px;line-height:1.45;opacity:.78;max-width:520px}.work-secondary{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px 32px}.work-secondary .proj-card-art{aspect-ratio:4 / 3}.work-secondary .proj-card-info .name{font-size:19px}.work-secondary .proj-card-info .desc{font-size:14px;max-width:320px}.section-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);opacity:.7;margin-bottom:32px;padding-bottom:18px;border-bottom:1px solid var(--rule)}.process{padding:var(--pad-y) var(--pad);max-width:var(--max);margin:0 auto}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px}.process-step .num{font-family:var(--mono);font-size:12px;letter-spacing:.16em;opacity:.6;margin-bottom:18px}.process-step h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,44px);line-height:1.05;letter-spacing:-.005em;margin:0 0 16px}.process-step p{font-size:16px;color:var(--muted);line-height:1.55;margin:0}.team{position:relative;padding:var(--pad-y) var(--pad);max-width:var(--max);margin:0 auto}.team-ill{position:absolute;right:-40px;top:80px;width:clamp(240px,28vw,460px);color:var(--ink);opacity:.85;pointer-events:none}.team-headline{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.6vw,76px);line-height:1.04;letter-spacing:-.01em;margin:0 0 120px;max-width:1180px;text-wrap:balance;position:relative;z-index:2}.people{list-style:none;margin:0 0 100px;padding:28px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:36px;border-top:1px solid var(--rule);position:relative;z-index:2}.people li a{display:block;transition:opacity .16s ease}.people li a:hover{opacity:.65}.person-avatar{aspect-ratio:4 / 5;border-radius:4px;overflow:hidden;margin-bottom:16px;background:var(--card-bg)}.person-avatar svg{width:100%;height:100%;display:block}.people h4{font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:-.005em;margin:0 0 4px;line-height:1.1}.people p{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0}.team-prose{max-width:880px;display:grid;gap:22px;font-family:var(--serif);font-size:clamp(20px,1.8vw,28px);line-height:1.35;letter-spacing:-.005em;color:var(--ink)}.team-prose em{font-style:italic;background:var(--ink);color:var(--bg);padding:0 6px;border-radius:2px;margin:0 2px}.site-footer{position:relative;padding:100px var(--pad) 40px;max-width:var(--max);margin:0 auto;border-top:1px solid var(--rule)}.site-footer>.footer-mascot.mascot{position:absolute;top:-38px;right:var(--pad);z-index:2}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;margin-bottom:100px}.footer-col{display:flex;flex-direction:column;gap:6px}.footer-col-end{align-items:flex-end;text-align:right}.footer-label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.footer-col a{font-family:var(--serif);font-size:clamp(28px,3vw,48px);letter-spacing:-.005em;color:var(--ink);line-height:1}.footer-col a:hover{opacity:.6}.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:28px;border-top:1px solid var(--rule)}.footer-mark{display:inline-flex;width:14px;height:14px;border-radius:50%;background:var(--ink)}.principles{padding:var(--pad-y) var(--pad);max-width:var(--max);margin:0 auto}.principles-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0}.principles-grid li{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:baseline;padding:28px 32px 28px 0;border-top:1px solid var(--rule)}.principles-grid li:nth-child(2n){padding-right:0;padding-left:32px;border-left:1px solid var(--rule)}.principles-grid li:nth-child(-n+2){border-top:0}.principles-grid .num{font-family:var(--mono);font-size:12px;letter-spacing:.14em;opacity:.55;align-self:start;padding-top:8px}.principles-grid .text{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,32px);line-height:1.18;letter-spacing:-.005em}.services{padding:var(--pad-y) var(--pad);max-width:var(--max);margin:0 auto}.services-list{list-style:none;margin:0;padding:0}.services-list li{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:baseline;padding:36px 0;border-bottom:1px solid var(--rule)}.services-list li:first-child{border-top:1px solid var(--rule)}.services-list h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.8vw,44px);letter-spacing:-.005em;line-height:1.05;margin:0}.services-list p{font-size:16px;color:var(--muted);line-height:1.55;margin:0;max-width:560px}.work-index{padding:var(--pad-y) var(--pad);max-width:var(--max);margin:0 auto}.work-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.work-rows li{border-bottom:1px solid var(--rule)}.work-row{display:grid;grid-template-columns:60px minmax(0,1.4fr) minmax(0,1.2fr) 80px 28px;align-items:center;gap:32px;padding:26px 4px;color:inherit;text-decoration:none;position:relative;overflow:hidden;transition:padding .32s cubic-bezier(.2,.8,.2,1)}.work-row:before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--ink) 4%,transparent);transform:translateY(100%);transition:transform .36s cubic-bezier(.2,.8,.2,1);z-index:0}.work-row>*{position:relative;z-index:1}.work-row:hover{padding-left:18px;padding-right:18px}.work-row:hover:before{transform:translateY(0)}.work-row .num{font-family:var(--mono);font-size:12px;letter-spacing:.14em;opacity:.55}.work-row .name{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.4vw,56px);letter-spacing:-.01em;line-height:1;display:inline-block;overflow:hidden}.work-row .name-text{display:inline-block;transition:transform .36s cubic-bezier(.2,.8,.2,1)}.work-row:hover .name-text{transform:translate(8px)}.work-row .domain{font-family:var(--sans);font-size:14px;color:var(--muted)}.work-row .year{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--muted);text-align:right}.work-row .arrow{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--rule-strong);transition:transform .36s cubic-bezier(.2,.8,.2,1),border-color .2s ease}.work-row:hover .arrow{transform:rotate(45deg);border-color:var(--ink)}.in-flight{padding:var(--pad-y) var(--pad);max-width:1100px;margin:0 auto}.in-flight-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.in-flight-head .section-eyebrow{margin-bottom:0}.in-flight-mascot{flex-shrink:0}.in-flight-list{list-style:none;margin:0;padding:0;display:grid;gap:28px}.in-flight-list li{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.4vw,38px);line-height:1.15;letter-spacing:-.005em;padding-left:28px;position:relative}.in-flight-list li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--ink);opacity:.85}.recognition{padding:var(--pad-y) var(--pad);max-width:var(--max);margin:0 auto}.recognition-prose{max-width:880px;display:grid;gap:22px;font-family:var(--serif);font-size:clamp(20px,1.8vw,28px);line-height:1.35;letter-spacing:-.005em;color:var(--ink)}.recognition-prose em{font-style:italic;background:var(--ink);color:var(--bg);padding:0 6px;border-radius:2px;margin:0 2px}.cta{position:relative;padding:var(--pad-y) var(--pad);max-width:var(--max);margin:0 auto;text-align:center}.cta-mascot{display:block;margin:0 auto 32px}.cta-headline{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5.2vw,84px);line-height:1.05;letter-spacing:-.012em;margin:0 auto 32px;max-width:1100px;text-wrap:balance}.cta-headline em{font-style:italic}.cta-email{display:inline-block;font-family:var(--serif);font-size:clamp(28px,3vw,48px);letter-spacing:-.005em;text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px;transition:opacity .2s ease}.cta-email:hover{opacity:.65}@media(max-width:900px){:root{--pad: 20px;--pad-y: 100px}.site-header{padding:18px var(--pad)}.hero{padding-top:160px}.hero>.mascot.hero-ill-hand{width:64px;top:80px;right:8px;opacity:.55}.hero>.mascot.hero-ill-sketch{width:64px;left:8px;top:auto;bottom:24px;opacity:.55}.work-grid,.principles-grid{grid-template-columns:1fr}.principles-grid li,.principles-grid li:nth-child(2n){padding:22px 0;border-left:0}.principles-grid li:first-child{border-top:0}.services-list li{grid-template-columns:1fr;gap:12px;padding:28px 0}.work-row{grid-template-columns:36px 1fr 28px;grid-template-rows:auto auto;gap:6px 16px;padding:22px 4px}.work-row .num{grid-column:1;grid-row:1 / 3;align-self:center}.work-row .name{grid-column:2;grid-row:1}.work-row .arrow{grid-column:3;grid-row:1 / 3;align-self:center}.work-row .domain{grid-column:2;grid-row:2}.work-row .year{display:none}.work-row:hover{padding-left:12px;padding-right:12px}.team-ill{display:none}.people{grid-template-columns:1fr 1fr}.process-grid,.footer-grid{grid-template-columns:1fr}.footer-col-end{align-items:flex-start;text-align:left}.in-flight-head{gap:12px}.in-flight-mascot{width:84px;height:auto}.in-flight-mascot .mascot-img{width:100%}.cta-mascot{width:84px;height:auto;margin-bottom:24px}.cta-mascot .mascot-img{width:100%}.site-footer>.footer-mascot.mascot{width:60px;height:auto;top:-28px}.site-footer>.footer-mascot.mascot .mascot-img{width:100%}}.logo-blob[data-astro-cid-mliqhodw]{display:inline-flex;align-items:flex-start;line-height:.85;font-family:Bagel Fat One,system-ui,sans-serif;font-weight:400;letter-spacing:-.04em;color:currentColor;transform-origin:left top}.logo-word[data-astro-cid-mliqhodw]{display:inline-block;font-size:var(--logo-size);transform:scaleY(.92);transform-origin:left top}.is-outline[data-astro-cid-mliqhodw] .logo-word[data-astro-cid-mliqhodw]{color:transparent;-webkit-text-stroke:1.5px currentColor}.mascot[data-astro-cid-mari5c6o]{position:relative;display:inline-block;width:var(--mascot-size);height:var(--mascot-size);line-height:0;pointer-events:none}.mascot-img[data-astro-cid-mari5c6o]{width:100%;height:auto;image-rendering:pixelated;display:block}:root[data-theme=dark] .mascot-img[data-astro-cid-mari5c6o]{filter:brightness(1.35) contrast(.95)}:root[data-theme=light] .mascot-img[data-astro-cid-mari5c6o]{filter:contrast(1.05)}.mascot-walker[data-astro-cid-mari5c6o] .mascot-img[data-astro-cid-mari5c6o]{animation:m-bob .6s ease-in-out infinite;transform-origin:center bottom}@keyframes m-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.mascot-sleeper[data-astro-cid-mari5c6o] .mascot-img[data-astro-cid-mari5c6o]{animation:m-breathe 3.2s ease-in-out infinite;transform-origin:center bottom}@keyframes m-breathe{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(1.04) translateY(-2px)}}.mascot-sleeper[data-astro-cid-mari5c6o] .zz[data-astro-cid-mari5c6o]{position:absolute;top:8%;right:4%;font-family:var(--serif),Georgia,serif;font-size:calc(var(--mascot-size) * .18);font-weight:600;color:var(--muted);opacity:0;animation:m-zz 3s ease-out infinite}.mascot-sleeper[data-astro-cid-mari5c6o] .zz-2[data-astro-cid-mari5c6o]{animation-delay:1s;font-size:calc(var(--mascot-size) * .14);right:-2%;top:18%}.mascot-sleeper[data-astro-cid-mari5c6o] .zz-3[data-astro-cid-mari5c6o]{animation-delay:2s;font-size:calc(var(--mascot-size) * .11);right:12%;top:26%}@keyframes m-zz{0%{opacity:0;transform:translate(0) scale(.7)}20%{opacity:.85}to{opacity:0;transform:translate(14px,-28px) scale(1.1)}}.mascot-swimmer[data-astro-cid-mari5c6o] .mascot-img[data-astro-cid-mari5c6o]{animation:m-swim 2.6s ease-in-out infinite;transform-origin:center}@keyframes m-swim{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}.mascot-swimmer[data-astro-cid-mari5c6o] .bubble[data-astro-cid-mari5c6o]{position:absolute;border-radius:50%;background:var(--muted);opacity:0;animation:m-rise 3s ease-in infinite}.mascot-swimmer[data-astro-cid-mari5c6o] .b1[data-astro-cid-mari5c6o]{width:6px;height:6px;left:30%;bottom:35%;animation-delay:0s}.mascot-swimmer[data-astro-cid-mari5c6o] .b2[data-astro-cid-mari5c6o]{width:9px;height:9px;left:36%;bottom:42%;animation-delay:.7s}.mascot-swimmer[data-astro-cid-mari5c6o] .b3[data-astro-cid-mari5c6o]{width:5px;height:5px;left:42%;bottom:32%;animation-delay:1.4s}.mascot-swimmer[data-astro-cid-mari5c6o] .b4[data-astro-cid-mari5c6o]{width:7px;height:7px;left:34%;bottom:46%;animation-delay:2.1s}@keyframes m-rise{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:.7}to{opacity:0;transform:translateY(-60px) scale(1.1)}}.mascot-gentleman[data-astro-cid-mari5c6o] .mascot-img[data-astro-cid-mari5c6o]{animation:m-idle 4.2s ease-in-out infinite;transform-origin:center bottom}@keyframes m-idle{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(-1deg)}75%{transform:translateY(-1px) rotate(1deg)}}.mascot[data-astro-cid-mari5c6o]{transition:transform .28s cubic-bezier(.2,.8,.2,1);transform-origin:center bottom}.mascot[data-astro-cid-mari5c6o].is-near{transform:scale(1.08)}.mascot[data-astro-cid-mari5c6o].mascot-walker.is-near{transform:scale(1.12) scaleX(calc(-1 * var(--cursor-side, 1)))}.mascot[data-astro-cid-mari5c6o].mascot-walker.is-near .mascot-img[data-astro-cid-mari5c6o]{animation-duration:.32s}.mascot[data-astro-cid-mari5c6o].mascot-sleeper.is-near{transform:scale(1.06) translateY(-4px)}.mascot[data-astro-cid-mari5c6o].mascot-sleeper.is-near .mascot-img[data-astro-cid-mari5c6o]{animation-duration:1.2s}.mascot[data-astro-cid-mari5c6o].mascot-sleeper.is-near .zz[data-astro-cid-mari5c6o]{opacity:0;transition:opacity .32s ease}.mascot[data-astro-cid-mari5c6o].mascot-swimmer.is-near .mascot-img[data-astro-cid-mari5c6o]{animation-duration:1.1s}.mascot[data-astro-cid-mari5c6o].mascot-swimmer.is-near .bubble[data-astro-cid-mari5c6o]{animation-duration:1.4s}.mascot[data-astro-cid-mari5c6o].mascot-gentleman.is-near{transform:rotate(-8deg) translateY(-2px) scale(1.05)}@media(prefers-reduced-motion:reduce){.mascot-img[data-astro-cid-mari5c6o],.mascot[data-astro-cid-mari5c6o] .zz[data-astro-cid-mari5c6o],.mascot[data-astro-cid-mari5c6o] .bubble[data-astro-cid-mari5c6o]{animation:none!important}.mascot[data-astro-cid-mari5c6o],.mascot[data-astro-cid-mari5c6o].is-near{transform:none!important;transition:none!important}}
