@font-face{font-family:manrope;src:url(../media/manrope_latin-s.p.2xs28az5j2efm.woff2)format("woff2");font-display:swap;font-weight:200 800}@font-face{font-family:manrope Fallback;src:local(Arial);ascent-override:106.45%;descent-override:29.96%;line-gap-override:0.0%;size-adjust:100.14%}.manrope_53ad1d10-module__POAdiq__className{font-family:manrope,manrope Fallback}.manrope_53ad1d10-module__POAdiq__variable{--font-manrope:"manrope", "manrope Fallback"}
@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,ul,ol,figure{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}img,svg{display:block}img{max-width:100%;height:auto}button{cursor:pointer}[hidden]{display:none!important}}@layer tokens{:root{--ink:#123c9b;--action:#164bdf;--muted:#48618f;--paper:#fff;--soft:#f1f5fc;--wash:#e5ecf8;--line:#cfd9ee;--control-line:#7085af;--success:#176442;--warning:#80530c;--error:#a32a36;--radius:.25rem;--media-radius:.75rem;--gutter:clamp(1.25rem, 4.5vw, 4rem);--ease:cubic-bezier(.22, 1, .36, 1);--micro:.1s;--fast:.16s;--standard:.24s;--slow:.4s;--cinematic:.65s}}@layer base{html{scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-padding-top:7rem}body{background:var(--paper);color:var(--ink);font-family:var(--font-manrope), sans-serif;-webkit-font-smoothing:antialiased;font-size:1.0625rem;line-height:1.65}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline-offset:5px;outline:2px solid}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--action);outline-offset:3px}a{color:inherit;text-underline-offset:.25em;text-decoration:none}p a{text-decoration:underline}button{color:inherit}h1,h2,h3,h4{text-wrap:balance;white-space:pre-line;font-weight:650;line-height:1.1}h1{letter-spacing:-.04em;font-size:clamp(3rem,7.25vw,6rem);font-weight:750}h2{letter-spacing:-.035em;font-size:clamp(2.25rem,4.3vw,4rem)}h3{letter-spacing:-.025em;font-size:clamp(1.375rem,2.2vw,2rem)}h4{font-size:1.25rem}p{max-width:65ch}input,textarea,select{caret-color:var(--action)}button:disabled{cursor:wait;opacity:.65}.container{width:min(100% - var(--gutter) * 2, 1440px);margin-inline:auto}.section{padding-block:clamp(5rem,9vw,8rem)}.body-large{font-size:clamp(1.125rem,1.65vw,1.375rem);line-height:1.55}.small{font-size:.875rem}.muted{color:var(--muted)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--ink);color:var(--paper);z-index:100;padding:.75rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}main:focus{outline:none}}@layer components{.site-header{z-index:20;background:var(--paper);position:relative}.nav-wrap{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:2rem;min-height:100px;display:flex}.wordmark{letter-spacing:-.055rem;align-items:center;min-height:44px;font-size:1.625rem;font-weight:800;line-height:1;display:inline-flex}.wordmark-dot{color:var(--action)}.desktop-nav{gap:2.5rem;margin-left:auto;margin-right:3rem;display:flex}.desktop-nav a,.languages a,.footer-nav nav a{align-items:center;min-height:44px;font-size:.9375rem;font-weight:550;display:flex;position:relative}.desktop-nav a:after,.footer-nav nav a:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform var(--standard) var(--ease);background:currentColor;position:absolute;bottom:.5rem;left:0;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after,.footer-nav nav a:hover:after{transform:scaleX(1)}.nav-actions{align-items:center;gap:1.5rem;display:flex}.languages{gap:.125rem;display:flex}.languages a{min-width:34px;color:var(--muted);justify-content:center;padding-inline:.4rem;font-size:.75rem}.languages a[aria-current]{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px}.button{background:var(--action);min-height:54px;color:var(--paper);border-radius:var(--radius);transition:background var(--fast), transform var(--fast);border:1px solid #0000;justify-content:center;align-items:center;gap:1.75rem;padding:1rem 1.5rem;font-size:.9375rem;font-weight:600;line-height:1.4;display:inline-flex}.button svg{transition:transform var(--standard) var(--ease);flex-shrink:0}.button:hover{background:var(--ink)}.button:hover svg,.text-link:hover svg{transform:translate(4px)}.button:active{transform:translateY(1px)}.button.small{gap:1rem;min-height:46px;padding:.75rem 1rem;font-size:.8125rem}.button.light{background:var(--paper);color:var(--ink)}.button.light:hover{background:var(--wash)}.button.secondary{color:var(--ink);border-color:var(--control-line);background:0 0}.button.secondary:hover{background:var(--soft)}.text-link{min-height:44px;transition:text-decoration-color var(--fast);align-items:center;gap:1rem;font-size:.9375rem;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.text-link svg{transition:transform var(--standard) var(--ease);flex-shrink:0}.text-link:hover{text-decoration-color:currentColor}.menu-toggle{display:none}.mobile-nav{padding-block:1rem 2rem}.mobile-nav a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-block:1rem;font-size:1.5rem;display:flex}.hero-stage{isolation:isolate;align-items:center;min-height:clamp(38rem,47vw,44rem);display:flex;position:relative}.hero-copy{z-index:1;width:60%;padding-block:4rem 6rem;position:relative}.hero h1{font-size:clamp(3rem,6.1vw,5.5rem)}.hero h1 span{display:block}.location-note{white-space:nowrap;color:var(--muted);align-items:center;gap:.75rem;font-size:.875rem;display:flex;position:absolute;bottom:1.5rem;left:0}.location-mark{border:1px solid;border-radius:50%;width:12px;height:12px;position:relative}.location-mark:after{content:"";background:currentColor;border-radius:50%;position:absolute;inset:3px}.hero-details{margin-top:2rem}.hero-details .body-large{max-width:30rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:1.75rem;display:flex}.hero-actions .text-link{background:var(--paper)}.landscape{mix-blend-mode:multiply;width:100%}.hero-landscape{z-index:-1;width:calc(100% + var(--gutter));object-fit:cover;object-position:right bottom;pointer-events:none;max-width:none;height:100%;position:absolute;inset:0 auto 0 0}.hero-caption{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:1rem;padding-block:1.25rem 1.75rem;font-size:.8125rem;display:flex}.section-heading{grid-template-columns:1.2fr 1fr;align-items:end;gap:5rem;margin-bottom:3.5rem;display:grid}.section-heading p{max-width:36rem}.section-heading .text-link{margin-top:1rem}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:4rem 2rem;display:grid}.work-card:nth-child(2n){margin-top:6rem}.project-image-link{border-radius:var(--media-radius);display:block;position:relative;overflow:hidden}.project-open{width:44px;height:44px;color:var(--ink);background:var(--paper);transition:transform var(--standard) var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:1rem;right:1rem}.project-image-link:hover .project-open{transform:rotate(-35deg)}.project-visual{aspect-ratio:1.44;border-radius:var(--media-radius);background:var(--soft);border:1px solid var(--line);overflow:hidden}.project-visual img{width:100%;height:auto;display:block}.work-card-meta{justify-content:space-between;gap:1rem;padding-top:1.5rem;display:flex}.project-category{color:var(--muted);font-size:.8125rem}.work-card-meta h3{margin-top:.5rem;font-size:1.625rem}.work-card-meta h3 a:hover{text-decoration:underline}.work-card-meta p{color:var(--muted);max-width:34ch;margin-top:.75rem;font-size:.9375rem}.work-case-link{margin-top:1.25rem}.project-badge{border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);white-space:nowrap;align-self:start;padding:.4rem .6rem;font-size:.8125rem;line-height:1.5;display:inline-block}.restaurant-group{background:var(--soft);border:1px solid var(--line);border-radius:var(--media-radius);grid-column:1/-1;overflow:hidden}.restaurant-group summary{cursor:pointer;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);min-height:23rem;padding:clamp(1.5rem,4vw,3.5rem);list-style:none;display:grid}.restaurant-group summary::-webkit-details-marker{display:none}.restaurant-group summary:focus-visible{outline:2px solid var(--action);outline-offset:-6px}.restaurant-fan{perspective:700px;width:100%;height:clamp(13rem,26vw,21rem);position:relative}.restaurant-fan img{aspect-ratio:1.44;object-fit:cover;border:5px solid var(--paper);transform-origin:50% 90%;width:min(54%,22rem);height:auto;transition:transform var(--slow) var(--ease);border-radius:.5rem;position:absolute;top:50%;left:50%;box-shadow:0 14px 28px #123c9b25}.restaurant-fan img:first-child{transform:translate(-74%,-48%)rotate(-12deg)}.restaurant-fan img:nth-child(2){z-index:2;transform:translate(-50%,-52%)rotate(0)}.restaurant-fan img:nth-child(3){transform:translate(-26%,-48%)rotate(12deg)}.restaurant-group[open] .restaurant-fan img:first-child{transform:translate(-86%,-46%)rotate(-14deg)}.restaurant-group[open] .restaurant-fan img:nth-child(3){transform:translate(-14%,-46%)rotate(14deg)}.restaurant-group-heading h3{max-width:13ch;margin-top:.75rem;font-size:clamp(2rem,3.6vw,3.5rem)}.restaurant-group-hint{text-underline-offset:.3rem;align-items:center;gap:.75rem;margin-top:1.5rem;font-size:.9375rem;font-weight:650;text-decoration:underline;display:inline-flex}.restaurant-group-hint svg{width:1.1rem;height:1.1rem;transition:transform var(--standard) var(--ease)}.restaurant-group[open] .restaurant-group-hint svg{transform:rotate(45deg)}.restaurant-group-sites{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:0 clamp(1.5rem,4vw,3.5rem) clamp(1.5rem,4vw,3.5rem);display:grid}.restaurant-group-site>a{background:var(--paper);border:1px solid var(--line);border-radius:.5rem;min-width:0;padding:.5rem;display:block}.restaurant-group-site>a:hover strong{text-decoration:underline}.restaurant-group-sites img{aspect-ratio:1.44;object-fit:cover;border-radius:.25rem;width:100%;height:auto}.restaurant-group-site>a>span{align-items:center;gap:.5rem;padding:.75rem .25rem .25rem;font-size:.9375rem;display:flex}.restaurant-group-site>a>span svg{flex-shrink:0;width:1rem;height:1rem;margin-left:auto}.restaurant-group-site{min-width:0}.restaurant-group-site .button{justify-content:space-between;width:100%;margin-top:.75rem}.restaurant-group-sites small{color:var(--muted);font-size:.75rem}.manifesto{grid-template-columns:1.3fr 1fr;align-items:end;gap:6rem;padding-block:2rem 8rem;display:grid}.manifesto h2{max-width:20ch;font-size:clamp(2rem,3.6vw,3.5rem)}.manifesto p{color:var(--muted)}.service-explorer{background:var(--ink);color:var(--paper);padding-block:6rem}.service-explorer .section-heading{margin-bottom:4rem}.service-explorer .section-heading>p{color:#ccd8f3}.explorer-grid{grid-template-columns:1fr 1.2fr;gap:6rem;display:grid}.service-choices{align-self:start}.service-choices button{text-align:left;color:#ccd8f3;width:100%;transition:color var(--fast);background:0 0;border:0;border-top:1px solid #5475ba;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0;font-size:1.375rem;font-weight:500;display:flex}.service-choices button:last-child{border-bottom:1px solid #5475ba}.service-choices button.active{color:var(--paper)}.service-choices button svg{transition:transform var(--standard) var(--ease)}.service-choices button.active svg{transform:rotate(-35deg)}.service-panels{min-height:400px}.service-panel{animation:panel-enter var(--slow) var(--ease)}.service-name{color:#ccd8f3;font-size:.875rem}.service-panel h3{margin-top:1rem;font-size:clamp(2rem,3vw,3rem)}.service-panel p{color:#e1e8fa;max-width:45ch;margin-top:1.5rem}.service-panel ul{flex-wrap:wrap;gap:.5rem;margin-top:2rem;padding:0;list-style:none;display:flex}.service-panel li{border-radius:var(--radius);border:1px solid #5475ba;padding:.4rem .7rem;font-size:.8125rem}.service-links{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.process-list{grid-template-columns:repeat(4,1fr);gap:2rem;padding:0;list-style:none;display:grid}.process-list li{border-top:1px solid var(--line);padding-top:1.5rem}.process-number{color:var(--muted);font-size:.8125rem}.process-list h3{margin-top:2rem;font-size:1.375rem}.process-list p{color:var(--muted);margin-top:1rem;font-size:.9375rem}.studio-teaser{background:var(--soft);border-radius:var(--media-radius);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.founder-type{letter-spacing:-.04em;background:var(--wash);flex-direction:column;justify-content:center;padding:3.5rem;font-size:clamp(4rem,7vw,7rem);font-weight:750;line-height:.9;display:flex}.founder-type>span:nth-child(2){padding-left:2.5rem}.founder-type>span:nth-child(3){padding-left:5rem}.founder-type-caption{letter-spacing:normal;margin-top:2rem;font-size:.8125rem;font-weight:500;line-height:1.5}.studio-teaser-copy{align-self:center;padding:clamp(2rem,4vw,4rem)}.studio-teaser-copy p{color:var(--muted);margin-block:1.5rem}.faq-section{grid-template-columns:1fr 1.4fr;gap:5rem;display:grid}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:2rem;padding-block:1.5rem;font-size:1.0625rem;font-weight:600;line-height:1.5;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary svg{transition:transform var(--standard) var(--ease);flex-shrink:0}.faq-list details[open] summary svg{transform:rotate(45deg)}.faq-list details p{color:var(--muted);padding:0 3rem 1.5rem 0;font-size:1rem}.site-footer{background:var(--soft);isolation:isolate;padding-top:clamp(2rem,4vw,4rem);overflow:clip}.footer-scene{position:relative}.footer-invitation{text-align:center;grid-template-columns:1fr;justify-items:center;gap:1.5rem;width:min(100%,48rem);margin-inline:auto;padding-block:clamp(3rem,5vw,5rem) clamp(10rem,15vw,15rem);display:grid}.footer-invitation>div{flex-direction:column;align-items:center;display:flex}.footer-invitation .body-large{max-width:38ch}.footer-invitation .button{margin-top:1.5rem}.footer-invitation .small{margin-top:1rem}.footer-nav{grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;display:grid}.footer-nav .wordmark{justify-self:start}.footer-nav .back-top{justify-self:end}.footer-nav nav{gap:2rem;display:flex}.back-top{align-items:center;gap:.75rem;min-height:44px;font-size:.8125rem;display:flex}.footer-landscape{z-index:-1;width:max(640px, calc(100% + var(--gutter) * 2));pointer-events:none;max-width:none;height:auto;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.footer-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:start;gap:2rem;padding-block:1.5rem 2rem;font-size:.75rem;display:flex}.footer-bottom p span{color:var(--muted);display:block}.footer-bottom>div{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.footer-bottom a{align-items:center;min-height:44px;display:inline-flex}.footer-bottom a:hover{text-decoration:underline}.page-intro{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:4rem;padding-block:5.5rem 5rem;display:grid}.page-intro h1{font-size:clamp(3rem,5.5vw,5.25rem)}.legal-page-intro h1{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;text-wrap:balance;min-width:0;font-size:clamp(2.75rem,4.2vw,4.5rem);line-height:1.08}.intro-aside{max-width:36rem}.intro-aside .button,.intro-aside .project-badge{margin-top:1.5rem}.work-index{padding-bottom:7rem}.service-directory{padding-bottom:6rem}.service-directory article{border-top:1px solid var(--line);grid-template-columns:1.2fr 1fr;gap:5rem;padding-block:3rem;display:grid}.service-directory h2{font-size:clamp(2rem,3.5vw,3rem)}.tag-list{flex-wrap:wrap;gap:.5rem;margin-block:1.5rem;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);border-radius:var(--radius);padding:.35rem .65rem;font-size:.8125rem}.service-detail-block{background:var(--soft);padding-block:5rem}.service-detail-block>div{grid-template-columns:1.2fr 1fr;gap:6rem;display:grid}.service-detail-block h3{margin-top:3rem;font-size:1.5rem}.service-detail-block ul{margin-top:1.5rem;padding:0;list-style:none}.service-detail-block li{border-top:1px solid var(--line);align-items:center;gap:.75rem;padding-block:.75rem;display:flex}.service-detail-block li svg{flex-shrink:0}.studio-landscape .landscape{margin-top:0}.story-section{grid-template-columns:1fr 1fr;gap:6rem;display:grid}.founder-list{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.founder-photo{aspect-ratio:3/4;border-radius:var(--media-radius);background:var(--soft);overflow:hidden}.founder-photo img{object-fit:cover;width:100%;height:100%}.founder-initial{aspect-ratio:3/4;background:var(--wash);border-radius:var(--media-radius);flex-direction:column;justify-content:center;align-items:center;font-size:clamp(6rem,12vw,12rem);font-weight:750;line-height:.85;display:flex;overflow:hidden}.founder-initial span{letter-spacing:.2em;margin-top:1.5rem;font-size:.75rem;line-height:1.5}.initial-1{background:var(--ink);color:var(--paper)}.initial-2{background:var(--soft);border:1px solid var(--line)}.founder-list h2{margin-top:1.5rem;font-size:1.75rem}.founder-role{color:var(--muted);margin-top:.5rem;font-size:.8125rem;display:block}.founder-list p{margin-top:1rem;font-size:.9375rem}.places-grid{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.places-grid>div{border-top:1px solid var(--line);padding-top:1.5rem}.places-grid span{color:var(--muted);font-size:.8125rem}.places-grid h3{margin-block:1.5rem .5rem}.project-intro-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:1rem;margin-block:1.5rem .5rem;font-size:.875rem;display:flex}.intro-aside .project-intro-meta .project-badge{margin-top:0}.project-caption{color:var(--muted);justify-content:space-between;gap:1rem;margin-top:1.5rem;font-size:.875rem;display:flex}.prototype-notice{background:var(--soft);color:var(--muted);margin-top:1rem;padding:1rem;font-size:.9375rem}.case-visit{margin-top:2rem}.case-story{grid-template-columns:1fr 1.8fr;gap:6rem;display:grid}.case-story aside h2{margin-top:2.5rem;font-size:1.125rem}.case-story aside ul{margin-top:1rem;padding:0;font-size:.875rem;list-style:none}.case-story aside li{padding-block:.4rem}.case-story article+article{margin-top:3rem}.case-story article h2{margin-bottom:1.5rem;font-size:2rem}.case-hero{padding-block:clamp(3rem,7vw,7rem) clamp(3rem,5vw,5rem)}.case-hero>.text-link{margin-bottom:2.5rem}.case-hero>.project-category{margin-bottom:1rem;display:block}.case-hero h1{max-width:15ch}.case-hero>p{max-width:48rem;color:var(--muted);margin-top:1.75rem}.case-hero-actions{flex-wrap:wrap;align-items:stretch;gap:.75rem;margin-top:2rem;display:flex}.case-hero-actions .project-badge{align-self:stretch;align-items:center;min-height:54px;padding-inline:1.25rem;font-size:.9375rem;line-height:1.4;display:inline-flex}.case-visual>.project-visual{aspect-ratio:1.44}.case-visual>.project-visual img{object-fit:cover;width:100%;height:100%}.case-visual .project-caption{display:block}.case-story>div>p{max-width:46rem}.case-story>div>article{margin-top:3rem}.case-story article p{color:var(--muted)}.case-outcome{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.8fr;gap:6rem;display:grid}.case-outcome p{max-width:44rem}.case-closing{padding-block:5rem 7rem}.case-closing h2{margin-bottom:1rem}.case-closing p{max-width:48rem;color:var(--muted)}.case-closing>div{flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:2rem;display:flex}.case-metrics{border-top:1px solid var(--line);margin-top:4rem;padding-top:1.5rem}.case-metrics-heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.case-metrics-heading h2{font-size:clamp(1.75rem,3vw,2.5rem)}.case-metrics-heading span{color:var(--muted);font-size:.875rem}.case-metrics-grid{grid-template-columns:repeat(3,1fr);gap:2rem;margin-block:2rem 1rem;display:grid}.case-metrics-grid>div{border-top:1px solid var(--line);flex-direction:column;padding-top:1rem;display:flex}.case-metrics-grid strong{letter-spacing:-.04em;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1}.case-metrics-grid span{color:var(--muted);font-size:.875rem}.case-thesis{border-bottom:1px solid var(--line);padding-block:clamp(5rem,9vw,9rem) clamp(2rem,4vw,4rem)}.case-thesis p{letter-spacing:-.04em;text-wrap:balance;max-width:25ch;margin-top:1.25rem;font-size:clamp(2rem,4.2vw,4.25rem);font-weight:650;line-height:1.17}.case-journey{border-top:1px solid var(--line)}.case-journey-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 4rem;margin-top:3rem;display:grid}.case-journey-grid article{border-top:1px solid var(--line);grid-template-columns:3.5rem 1fr;gap:0 1.5rem;padding-block:2rem 2.25rem;display:grid}.case-journey-grid article>span{color:var(--action);grid-row:span 2;font-size:.875rem;font-weight:700}.case-journey-grid h3{max-width:23ch}.case-journey-grid p{color:var(--muted);margin-top:.75rem}.case-system{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,7vw,8rem);display:grid}.case-system h2{margin-block:1rem 1.5rem}.case-system p{color:var(--muted)}.case-system ol{padding:0;list-style:none}.case-system li{border-top:1px solid var(--line);grid-template-columns:2.5rem 1fr;gap:1rem;padding-block:1rem 1.25rem;font-weight:550;display:grid}.case-system li span{color:var(--muted);padding-top:.25rem;font-size:.75rem}.case-interface-section{background:var(--ink);color:var(--paper)}.case-interface-section .section-heading{align-items:end}.case-interface-section .section-heading p,.case-interface-disclaimer{color:#d3e1fb}.case-interface-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:3rem;display:grid}.case-interface-frame{background:var(--paper);color:var(--ink);border-radius:var(--media-radius);min-height:25rem;overflow:hidden}.case-interface-chrome{border-bottom:1px solid var(--line);background:var(--soft);align-items:center;gap:.3rem;padding:.65rem .9rem;display:flex}.case-interface-chrome>span{border:1px solid var(--control-line);border-radius:50%;width:.4rem;height:.4rem;display:block}.case-interface-chrome b{color:var(--muted);margin-left:auto;font-size:.65rem;font-weight:600}.case-interface-body{padding:clamp(1.25rem,2vw,2rem)}.case-interface-body h3{margin:.5rem 0 1.5rem;font-size:clamp(1.5rem,2vw,2rem)}.case-demo-progress{flex-wrap:wrap;justify-content:space-between;gap:.4rem;font-size:.8rem;display:flex}.case-demo-progress strong{font-size:.875rem}.case-demo-progress i{background:linear-gradient(90deg, var(--action) 62%, var(--wash) 62%);border-radius:1rem;width:100%;height:.35rem;margin:.25rem 0 1rem;display:block}.case-demo-rows{border-top:1px solid var(--line)}.case-demo-rows>div{border-bottom:1px solid var(--line);align-items:center;gap:.8rem;min-height:3.1rem;font-size:.85rem;font-weight:550;display:flex}.case-demo-rows span{color:var(--muted);font-size:.7rem}.case-demo-rows b{margin-left:auto;font-size:1rem}.case-demo-filters{flex-wrap:wrap;gap:.35rem;display:flex}.case-demo-filters span,.case-demo-sample{border:1px solid var(--line);border-radius:2rem;padding:.25rem .55rem;font-size:.7rem}.case-demo-map{background:repeating-linear-gradient(25deg,#0000 0 30px,#d9e5f7 30px 31px),repeating-linear-gradient(110deg,#f1f5fc 0 48px,#d9e5f7 48px 49px);border-radius:.35rem;height:10rem;margin-top:1rem;position:relative;overflow:hidden}.case-demo-map i{background:var(--action);border:2px solid var(--paper);border-radius:50%;width:.7rem;height:.7rem;position:absolute;box-shadow:0 1px 4px #123c9b40}.case-demo-map i:first-child{top:37%;left:23%}.case-demo-map i:nth-child(2){top:21%;left:58%}.case-demo-map i:nth-child(3){top:63%;left:76%}.case-demo-map i:nth-child(4){top:71%;left:43%}.case-demo-map i:nth-child(5){top:18%;left:31%}.case-demo-profile{justify-content:space-between;align-items:center;padding-top:.75rem;font-size:.8rem;font-weight:600;display:flex}.case-demo-values{margin-top:1rem}.case-demo-values>div{grid-template-columns:5.5rem 1fr 2rem;align-items:center;gap:.5rem;padding-block:.75rem;font-size:.75rem;display:grid}.case-demo-values>div>div{background:var(--wash);border-radius:1rem;height:.45rem}.case-demo-values i{background:var(--action);border-radius:1rem;height:100%;display:block}.case-demo-values strong{text-align:right}.case-interface-disclaimer{margin-top:1.25rem}.case-outcome>div p+p{color:var(--muted);margin-top:1.5rem}.case-comparison h2{margin-bottom:2rem}.case-comparison-source{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:1rem;font-size:.8125rem;display:flex}.case-comparison-source a{align-items:center;gap:.5rem;text-decoration:underline;display:inline-flex}.case-comparison-source svg{width:1rem;height:1rem}.before-after-stage{aspect-ratio:1.44;border-radius:var(--media-radius);border:1px solid var(--line);position:relative;overflow:hidden}.before-after-stage>img,.before-after-old img{object-fit:cover;object-position:top center;width:100%;height:100%;position:absolute;inset:0}.before-after-old{clip-path:inset(0 calc(100% - var(--comparison-position)) 0 0);position:absolute;inset:0}.before-after-label{background:var(--paper);color:var(--ink);border-radius:var(--radius);padding:.4rem .75rem;font-size:.8125rem;font-weight:650;position:absolute;top:1rem}.before-after-left{left:1rem}.before-after-right{right:1rem}.before-after-divider{left:var(--comparison-position);border-left:2px solid var(--paper);pointer-events:none;position:absolute;top:0;bottom:0;transform:translate(-1px)}.before-after-divider:after{content:"↔";background:var(--paper);width:3rem;height:3rem;color:var(--ink);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #123c9b30}.before-after-stage{cursor:ew-resize;touch-action:none}.before-after-stage:focus-within{outline:3px solid var(--action);outline-offset:3px}.before-after-input{opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.before-after-instruction{color:var(--muted);margin-top:.75rem;font-size:.875rem}.legal-content{max-width:860px;padding-bottom:7rem}.legal-updated{color:var(--muted);margin-bottom:1.5rem;font-size:.875rem}.legal-sections{gap:0;display:grid}.legal-section{border-top:1px solid var(--line);padding-block:2rem 2.5rem}.legal-content h2{margin-bottom:1.25rem;font-size:clamp(1.4rem,2vw,1.75rem)}.legal-section p{max-width:68ch;line-height:1.7}.legal-section p+p{margin-top:.9rem}.legal-resources{border-top:1px solid var(--line);padding-block:2rem}.legal-resources ul{gap:.75rem;padding-left:1.25rem;display:grid}.legal-resources a,.legal-page-links a,.legal-contact-links a{text-underline-offset:.2em;text-decoration:underline}.legal-contact-links{border-top:1px solid var(--line);flex-wrap:wrap;gap:.75rem 1.5rem;padding-block:2rem;display:flex}.legal-page-links{border-top:1px solid var(--line);flex-wrap:wrap;gap:.75rem 1.5rem;padding-top:2rem;display:flex}.not-found{min-height:60vh}.not-found h1{margin-block:2rem}.not-found .button{margin-top:2rem}.inquiry-layout{grid-template-columns:1fr 1.25fr;align-items:start;gap:6rem;padding-block:5rem 7rem;display:grid}.inquiry-intro{position:sticky;top:3rem}.inquiry-intro h1{font-size:clamp(3rem,4.5vw,4.5rem)}.inquiry-intro>p{margin-top:1.5rem}.inquiry-intro .small{margin-top:2rem}.inquiry-form{border:1px solid var(--line);border-radius:var(--media-radius);padding:clamp(1.5rem,3vw,3rem)}.step-indicator{gap:1rem;margin-bottom:2.5rem;padding:0;list-style:none;display:flex}.step-indicator li{border-top:2px solid var(--line);color:var(--muted);flex:1;padding-top:.75rem;font-size:.75rem}.step-indicator li[aria-current],.step-indicator .complete{border-color:var(--ink);color:var(--ink)}.form-step{border:0;min-width:0;margin:0;padding:0}.form-step>legend{letter-spacing:-.025em;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600;line-height:1.3}.form-step>legend:focus{outline:none}.need-options{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:2rem;display:grid}.need-options label{border:1px solid var(--control-line);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.5rem;min-height:56px;padding:.875rem;font-size:.8125rem;line-height:1.4;display:flex}.need-options label:has(input:checked){background:var(--soft);border-color:var(--ink)}.need-options input{width:16px;height:16px;accent-color:var(--ink);flex-shrink:0}.form-field{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.form-field>label{font-size:.9375rem;font-weight:600}.form-field label>span{color:var(--muted);font-size:.8125rem;font-weight:400}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--control-line);background:var(--paper);border-radius:var(--radius);color:var(--ink);width:100%;min-height:50px;padding:.875rem 1rem;font-size:1rem}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--muted);opacity:1}.form-field textarea{resize:vertical;min-height:120px}.form-field [aria-invalid=true]{border-color:var(--error)}.field-hint,.field-error{font-size:.8125rem;line-height:1.5}.field-hint{color:var(--muted)}.field-error{color:var(--error)}.consent-field{cursor:pointer;align-items:flex-start;gap:.75rem;font-size:.8125rem;line-height:1.6;display:flex}.consent-field input{width:18px;height:18px;accent-color:var(--ink);flex-shrink:0;margin-top:.3rem}.privacy-link{align-items:center;min-height:44px;margin-left:1.875rem;font-size:.8125rem;text-decoration:underline;display:inline-flex}.form-actions{justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;display:flex}.form-actions .button:only-child{margin-left:auto}.form-notice{background:var(--soft);border-radius:var(--radius);margin-top:1.5rem;padding:1rem;font-size:.8125rem}.form-error{color:var(--error);border:1px solid var(--error);border-radius:var(--radius);margin-block:1rem;padding:1rem;font-size:.875rem}.review-summary{border-block:1px solid var(--line);margin-bottom:1.5rem;padding-block:1rem;font-size:.8125rem}.review-summary p{overflow-wrap:anywhere;margin-top:.5rem}.success-state{padding-block:2rem}.success-state>svg{width:40px;height:40px;color:var(--success);margin-bottom:1.5rem}.success-state h2{font-size:2rem}.success-state p{margin-block:1.5rem}.honeypot{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}@keyframes panel-enter{0%{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:none}}}@layer motion{.mobile-menu{visibility:hidden;transition:grid-template-rows var(--standard) var(--ease), visibility var(--standard);grid-template-rows:0fr;display:grid}.mobile-menu[data-open=true]{visibility:visible;transition-duration:var(--slow);grid-template-rows:1fr}.mobile-menu-inner{min-height:0;overflow:hidden}.mobile-nav a{opacity:0;transition:opacity var(--fast), transform var(--standard) var(--ease);transform:translateY(-6px)}.mobile-menu[data-open=true] .mobile-nav a{opacity:1;transition-delay:45ms;transform:none}.mobile-menu[data-open=true] .mobile-nav a:nth-child(2){transition-delay:75ms}.mobile-menu[data-open=true] .mobile-nav a:nth-child(3){transition-delay:.105s}.mobile-menu[data-open=true] .mobile-nav a:nth-child(4){transition-delay:.135s}.menu-toggle svg{transition:transform var(--standard) var(--ease)}.menu-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.button{transition:background var(--fast), color var(--fast), transform var(--micro) var(--ease)}.button:active:not(:disabled){transform:translateY(1px)scale(.985)}.button:disabled svg{transform:none}.text-link:focus-visible{text-decoration-color:currentColor}.button:focus-visible svg,.text-link:focus-visible svg{transform:translate(4px)}.desktop-nav a:focus-visible:after,.footer-nav nav a:focus-visible:after{transform:scaleX(1)}.languages a{transition:color var(--fast), background-color var(--fast);border-radius:var(--radius)}.languages a:hover,.languages a:focus-visible{color:var(--ink);background:var(--soft)}.back-top svg{transition:transform var(--standard) var(--ease)}.back-top:is(:hover,:focus-visible) svg{transform:translateY(-4px)}.project-visual img{transition:transform var(--cinematic) var(--ease)}.project-image-link:focus-visible .project-open{transform:rotate(-35deg)}.service-choices button{transition:color var(--fast), background-color var(--fast);position:relative}.service-choices button:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform var(--slow) var(--ease);background:currentColor;position:absolute;bottom:-1px;left:0;transform:scaleX(0)}.service-choices button.active:after{transform:scaleX(1)}.need-options label{transition:background-color var(--fast), border-color var(--fast)}.form-field :is(input,textarea,select){transition:border-color var(--fast), background-color var(--fast)}.form-field :is(input,textarea,select):focus{background:var(--soft)}.step-indicator li{border-top-color:var(--line);transition:color var(--standard);position:relative}.step-indicator li[aria-current],.step-indicator li.complete{border-top-color:var(--line)}.step-indicator li:before{content:"";background:var(--ink);transform-origin:0;width:100%;height:2px;transition:transform var(--slow) var(--ease);position:absolute;top:-2px;left:0;transform:scaleX(0)}.step-indicator li[aria-current]:before,.step-indicator li.complete:before{transform:scaleX(1)}.faq-list summary{transition:color var(--fast)}@media (hover:hover) and (pointer:fine){.project-image-link:hover img{transform:scale(1.025)}.need-options label:hover{background:var(--soft)}.service-choices button:hover{color:var(--paper)}.faq-list summary:hover{color:var(--action)}}@media (prefers-reduced-motion:no-preference){.hero h1 span{animation:type-settle var(--cinematic) var(--ease) backwards}.hero h1 span:nth-child(2){animation-delay:70ms}.hero-caption{border-bottom-color:#0000;position:relative}.hero-caption:after{content:"";background:var(--line);transform-origin:0;width:100%;height:1px;animation:rule-draw var(--cinematic) var(--ease) .1s backwards;position:absolute;bottom:0;left:0}.page-intro h1,.inquiry-intro h1{animation:type-settle var(--slow) var(--ease) backwards}.form-step{animation:panel-enter var(--standard) var(--ease)}.success-state{animation:panel-enter var(--slow) var(--ease)}.success-state>svg{animation:check-enter var(--slow) var(--ease)}.form-error,.field-error{animation:feedback-enter var(--fast) ease-out}.inquiry-form[aria-busy=true] .form-actions .button:last-child svg{animation:.9s ease-in-out infinite alternate send-progress}@supports selector(details::details-content){.faq-list details::details-content{opacity:0;transition:grid-template-rows var(--standard) var(--ease), opacity var(--fast), content-visibility var(--standard) allow-discrete;grid-template-rows:0fr;display:grid}.faq-list details[open]::details-content{opacity:1;transition-duration:var(--slow);grid-template-rows:1fr}.faq-answer{min-height:0;overflow:hidden}}}@keyframes type-settle{0%{transform:translateY(12px)}to{transform:none}}@keyframes rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes feedback-enter{0%{opacity:.5}to{opacity:1}}@keyframes check-enter{0%{transform:scale(.85)}to{transform:none}}@keyframes send-progress{0%{transform:translate(0)}to{transform:translate(5px)}}}@layer responsive{@media (min-width:901px){.mobile-menu{display:none}}@media (min-width:701px) and (max-width:1250px){.hero-landscape{inset:auto calc(var(--gutter) * -1) 0 auto;width:85%;height:auto;-webkit-mask-image:linear-gradient(transparent, var(--ink) 12%);mask-image:linear-gradient(transparent, var(--ink) 12%)}.hero-details .body-large{max-width:25rem}}@media (max-width:1100px){.desktop-nav{gap:1.5rem;margin-right:1rem}.nav-actions{gap:.75rem}.section-heading,.explorer-grid,.manifesto,.case-story{gap:3rem}.work-card-meta{flex-direction:column-reverse}.process-list{grid-template-columns:1fr 1fr}.inquiry-layout{gap:3rem}.case-interface-grid{grid-template-columns:1fr 1fr}.case-interface-map{grid-column:1/-1;min-height:0}}@media (max-width:900px){.nav-wrap{gap:1rem;min-height:84px}.desktop-nav,.nav-cta{display:none}.menu-toggle{background:0 0;border:0;align-items:center;gap:.75rem;min-height:44px;padding:.5rem 0 .5rem .75rem;font-size:.875rem;display:inline-flex}.hero-stage{min-height:36rem}.hero-copy{width:58%}.hero h1{font-size:clamp(3rem,6.4vw,4rem)}.hero-details{margin-top:1.5rem}.section-heading{grid-template-columns:1fr 1fr;gap:2rem}.explorer-grid{grid-template-columns:.9fr 1.2fr;gap:3rem}.service-choices button{font-size:1.125rem}.manifesto{gap:3rem}.faq-section{gap:2rem}.page-intro{gap:2rem;padding-block:4rem}.inquiry-layout{grid-template-columns:1fr;padding-top:3rem}.inquiry-intro{max-width:40rem;position:static}.inquiry-form{width:100%;max-width:48rem}.service-directory article,.service-detail-block>div,.story-section{gap:3rem}}@media (max-width:700px){html{scroll-padding-top:2rem}body{font-size:1rem}h1{font-size:clamp(2.75rem,10vw,4rem)}h2{font-size:clamp(2.125rem,7.5vw,3rem)}.wordmark{font-size:1.3125rem}.nav-actions{gap:.5rem}.languages a{min-width:28px;padding-inline:.25rem;font-size:.6875rem}.menu-toggle{gap:.5rem;padding-left:.25rem;font-size:.75rem}.nav-wrap{min-height:76px}.hero-stage{min-height:0}.hero-copy{width:100%;padding-block:2.75rem 6rem}.hero h1{font-size:clamp(2.75rem,10vw,4.3rem)}.hero-details .body-large{max-width:62%;font-size:1.125rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:1.5rem}.hero-actions .button{gap:1rem;padding-inline:1rem}.hero-actions .text-link{background:var(--paper);gap:.5rem;font-size:.8125rem}.hero-landscape{inset:auto calc(var(--gutter) * -1) 5rem auto;width:85vw;height:auto;-webkit-mask-image:linear-gradient(transparent, var(--ink) 12%);mask-image:linear-gradient(transparent, var(--ink) 12%)}.hero-caption{padding-block:1rem;font-size:.75rem}.hero-caption>span:last-child{display:none}.section{padding-block:4rem}.section-heading,.manifesto,.faq-section,.footer-invitation,.page-intro,.service-directory article,.service-detail-block>div,.story-section,.case-story,.case-outcome{grid-template-columns:1fr;gap:1.75rem}.section-heading{margin-bottom:2rem}.work-grid{grid-template-columns:1fr;gap:2.75rem}.work-card:nth-child(2n){margin-top:0}.work-card-meta{gap:.75rem;padding-top:1rem}.work-card-meta h3{font-size:1.5rem}.restaurant-group{grid-column:auto}.restaurant-group summary{grid-template-columns:1fr;gap:.5rem;min-height:0;padding:1.25rem}.restaurant-fan{height:12rem}.restaurant-fan img{width:min(60%,16rem)}.restaurant-group-heading h3{max-width:none;font-size:2rem}.restaurant-group-hint{margin-top:.75rem}.restaurant-group-sites{grid-template-columns:1fr;padding:0 1.25rem 1.25rem}.restaurant-group-site>a{grid-template-columns:7rem 1fr;align-items:center;gap:.75rem;display:grid}.restaurant-group-site>a>span{grid-template-columns:minmax(0,1fr) auto;padding:0 .25rem 0 0;display:grid}.restaurant-group-site>a>span small{grid-area:2/1}.restaurant-group-site>a>span svg{grid-area:1/2/3}.restaurant-group-sites img{height:5rem}.restaurant-group-site .button{margin-top:.4rem}.case-thesis p{max-width:none}.case-journey-grid,.case-interface-grid,.case-system{grid-template-columns:1fr;gap:1.5rem}.case-journey-grid article{grid-template-columns:2rem 1fr;gap:0 1rem}.case-interface-map{grid-column:auto}.case-interface-frame{min-height:0}.case-metrics-grid{gap:.75rem}.case-metrics-grid strong{font-size:2rem}.manifesto{padding-block:0 4rem}.manifesto h2{max-width:none}.service-explorer{padding-block:4rem}.service-explorer .section-heading{margin-bottom:2rem}.explorer-grid{grid-template-columns:1fr;gap:2.5rem}.service-choices button{min-height:60px;padding-block:1rem}.service-panels{min-height:380px}.service-panel h3{font-size:2rem}.service-panel ul{margin-top:1.5rem}.service-links{gap:1rem}.service-links .text-link{font-size:.875rem}.process-list{gap:2rem 1.25rem}.process-list h3{margin-top:1.5rem;font-size:1.25rem;line-height:1.2}.process-list p{font-size:.875rem}.studio-teaser{grid-template-columns:1fr}.founder-type{padding:2.5rem;font-size:5rem}.studio-teaser-copy{padding:2rem}.faq-list summary{gap:1rem;font-size:1rem}.faq-list details p{padding-right:1rem}.footer-nav{grid-template-columns:1fr;justify-items:center;gap:.75rem}.footer-nav .wordmark{justify-self:center}.footer-nav nav{gap:1.5rem}.footer-nav nav a{font-size:.8125rem}.back-top{display:none}.footer-bottom{flex-direction:column;gap:.75rem}.footer-bottom>div{gap:1rem;font-size:.6875rem}.page-intro{padding-block:3rem}.page-intro h1{font-size:clamp(2.5rem,9vw,3.75rem)}.work-index{padding-bottom:4rem}.service-directory{padding-bottom:3rem}.service-directory article{padding-block:2.5rem}.service-detail-block{padding-block:3rem}.studio-landscape .landscape{margin-top:0}.founder-list{grid-template-columns:1fr;gap:2.5rem}.founder-initial{font-size:7rem}.places-grid{gap:1.5rem}.places-grid h3{font-size:1.75rem}.places-grid p{font-size:.875rem}.project-caption{flex-direction:column;gap:.5rem}.case-story{gap:3rem}.case-story aside{border-bottom:1px solid var(--line);padding-bottom:2rem}.case-story article h2{font-size:1.75rem}.inquiry-layout{gap:2rem;padding-block:3rem 4rem}.inquiry-intro h1{font-size:clamp(2.5rem,9vw,3.5rem)}.inquiry-form{padding:1.25rem}.need-options{gap:.5rem}.need-options label{padding:.75rem .5rem;font-size:.75rem}.step-indicator{gap:.5rem}.step-indicator li{font-size:.6875rem}.form-actions .button{gap:.75rem;padding-inline:1rem;font-size:.8125rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}}
