:root{--paper:#e8e6e1;--paper-2:#dcd9d3;--ink:#14161a;--ink-2:#474b49;--ink-3:#575a57;--blue:#0f499e;--blue-soft:#a9c0e2;--line:#14161a24;--line-strong:#14161a52;--white:#fff;--focus:#0f499e;--font:"Archivo", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--pad-x:clamp(20px, 5vw, 72px);--max:1440px;--ease:cubic-bezier(.2, .6, .4, 1);--t-display:clamp(46px, 8vw, 124px);--t-h1:clamp(50px, 7.6vw, 116px);--t-h2:clamp(26px, 2.5vw, 36px);--t-section:clamp(32px, 3.8vw, 56px);--t-line:clamp(22px, 2.3vw, 34px);--t-lead:clamp(19px, 1.6vw, 23px);--t-body:17px;--t-small:14px;--t-label:12px}@font-face{font-family:Archivo;src:url(/fonts/archivo-latin-400.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/archivo-latin-500.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/archivo-latin-700.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--t-body);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--blue);color:var(--white)}h1,h2,h3,p,figure,dl,dd,address{margin:0}address{font-style:normal}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3{text-wrap:balance;font-weight:700}h1{letter-spacing:-.05em;line-height:.94}h1,.next-title{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}h2{font-size:var(--t-h2);letter-spacing:-.03em;line-height:1.1}h3{letter-spacing:-.015em;line-height:1.3}p{text-wrap:pretty}:is(a:focus-visible,summary:focus-visible){outline:3px solid var(--focus);outline-offset:4px;border-radius:2px}.contact{--focus:#ffb82e}.skip-link{z-index:100;background:var(--white);color:var(--ink);padding:12px 18px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.arrow-icon,.plus-icon{vertical-align:baseline;flex:none;width:.72em;height:.72em;display:inline-block}.wrap,.site-header,.opening,.home-work,.home-services,.home-clients,.home-results-inner,.page-head,.work-list,.service-list,.about-story,.about-method,.about-offices,.case-head,.case-cover,.case-body,.case-gallery,.next-case,.contact-inner,.site-footer{width:100%;max-width:var(--max);padding-inline:var(--pad-x);margin-inline:auto}.band-head{border-top:1px solid var(--line-strong);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 24px;margin-bottom:clamp(40px,4.5vw,64px);padding-top:24px;display:flex}.band-head h2{font-size:var(--t-section);letter-spacing:-.045em;line-height:1}.small-head{font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.pill-link{flex:none;align-items:center;gap:4px;display:inline-flex}.pill-label,.pill-arrow{background:var(--ink);height:46px;color:var(--paper);border-radius:99px;justify-content:center;align-items:center;transition:background-color .25s,color .25s;display:inline-flex}.pill-label{white-space:nowrap;padding:0 24px;font-size:15px;font-weight:500}.pill-arrow{width:46px}.pill-arrow .arrow-icon{width:13px;height:13px;transition:transform .3s var(--ease)}.pill-link:hover .pill-arrow{background:var(--blue);color:var(--white)}.pill-link:hover .pill-arrow .arrow-icon{transform:rotate(45deg)}.pill-link:focus-visible{outline-offset:3px;border-radius:99px}.site-header{z-index:20;justify-content:space-between;align-items:center;height:88px;display:flex;position:relative}.brand-lockup{width:auto;height:32px}.desktop-nav{align-items:center;gap:32px;font-size:15px;font-weight:500;display:flex}.desktop-nav a{padding:8px 0;transition:color .2s}.desktop-nav a:hover{color:var(--blue)}.desktop-nav .nav-contact{background:var(--ink);color:var(--paper);border-radius:99px;padding:10px 20px;transition:background-color .2s,color .2s}.desktop-nav .nav-contact:hover{background:var(--blue);color:var(--white)}.mobile-nav{display:none}.opening{padding-top:clamp(56px,9vw,132px);padding-bottom:clamp(64px,8vw,120px)}.opening h1{font-size:var(--t-display)}.opening h1 span{display:block}.opening h1 span+span{font-weight:400}.opening-foot{grid-template-columns:repeat(12,1fr);column-gap:24px;margin-top:clamp(40px,5vw,72px);display:grid}.opening-intro{font-size:var(--t-lead);color:var(--ink-2);grid-column:1/span 6;line-height:1.5}.opening-facts{font-size:var(--t-small);grid-column:9/span 4;align-self:end;gap:14px;display:grid}.opening-facts>div{border-top:1px solid var(--line-strong);padding-top:10px}.opening-facts dt{font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.opening-facts dd{margin-top:2px}.home-work{padding-bottom:clamp(72px,9vw,140px)}.featured{grid-template-columns:repeat(12,1fr);gap:clamp(64px,8vw,120px) 24px;display:grid}.featured .project-large{grid-column:1/-1}.featured .project-standard{grid-column:1/-1;grid-template-columns:subgrid;align-items:end;display:grid}.featured .project-standard .project-line{grid-area:1/1/auto/span 4;align-self:end;margin-bottom:0}.featured .project-standard .project-image{grid-area:1/6/auto/-1}.featured .project-standard .project-caption{grid-area:2/6/auto/-1}.featured .project-large .project-image{aspect-ratio:2.2}.featured .project-standard .project-image{aspect-ratio:1.5}.home-services{padding-bottom:clamp(72px,9vw,140px)}.home-results+.home-services{padding-top:clamp(72px,9vw,140px)}.home-hero{margin:0 0 clamp(72px,9vw,140px)}.home-hero img{object-fit:cover;width:100%;height:clamp(300px,43vw,760px)}.home-hero figcaption{max-width:var(--max);padding-inline:var(--pad-x);color:var(--ink-2);margin:14px auto 0;font-size:15px}.home-hero figcaption strong{color:var(--ink)}.home-results{background:var(--ink);color:var(--paper);--focus:#ffb82e}.home-results-inner{padding-top:clamp(72px,9vw,136px);padding-bottom:clamp(72px,9vw,136px)}.home-results h2{font-size:var(--t-section);letter-spacing:-.045em;margin-bottom:clamp(40px,5vw,72px);line-height:1}.home-results ul{grid-template-columns:repeat(4,1fr);gap:40px 24px;display:grid}.home-results li a{border-top:1px solid #e8e6e147;padding-top:20px;display:block}.result-value{letter-spacing:-.05em;font-size:clamp(52px,5.6vw,84px);font-weight:700;line-height:.95;transition:color .2s;display:block}.result-label{margin-top:14px;font-size:17px;font-weight:500;display:block}.result-source{color:#e8e6e1bd;margin-top:6px;font-size:14px;display:block}.home-results li a:hover .result-value{color:var(--blue-soft)}.service-index{grid-template-columns:repeat(4,1fr);gap:40px 24px;display:grid}.service-index a{border-top:1px solid var(--line);height:100%;padding-top:16px;display:block}.service-index .service-no{margin-bottom:10px}.service-index h3{font-size:19px;transition:color .2s}.service-index p{color:var(--ink-2);margin-top:8px;font-size:15px;line-height:1.55}.service-index a:hover h3{color:var(--blue)}.home-clients{padding-bottom:clamp(72px,9vw,120px)}.home-clients .small-head{margin-bottom:18px}.client-names{--logo-scale:.9;border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(6,1fr);display:grid}.client-logo{border-right:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:center;align-items:center;min-width:0;height:104px;padding:0 12px;display:flex}.client-logo a{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.client-logo img{width:calc(var(--lw) * var(--logo-scale));height:calc(var(--lh) * var(--logo-scale));object-fit:contain;max-width:100%}.client-logo:has(a:hover){background:var(--white)}.project{display:block}.project-line{font-size:var(--t-line);letter-spacing:-.025em;text-wrap:balance;max-width:22ch;margin-bottom:20px;font-weight:700;line-height:1.15}.project-image{background:var(--paper-2);overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease)}.project:hover .project-image img{transform:scale(1.025)}.project-panel{background:var(--blue);color:var(--white);align-items:flex-end;padding:clamp(24px,3vw,48px);display:flex}.project-stat{font-size:17px;font-weight:500;line-height:1.3}.project-stat span{letter-spacing:-.05em;margin-bottom:10px;font-size:clamp(64px,9vw,148px);font-weight:700;line-height:.9;display:block}.project-caption{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 24px;margin-top:14px;display:flex}.project-caption h3{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:17px;font-weight:500;display:inline-flex}.project-client{font-weight:700}.project-caption .arrow-icon{width:11px;height:11px;transition:transform .3s var(--ease)}.project:hover .project-caption .arrow-icon{transform:translate(2px,-2px)}.project-caption p{font-size:var(--t-small);color:var(--ink-3)}.page-head{padding-top:clamp(48px,7vw,104px);padding-bottom:clamp(56px,6vw,96px)}.page-head h1{font-size:var(--t-h1)}.page-head>p:not(.not-found-links){max-width:34em;font-size:var(--t-lead);color:var(--ink-2);margin-top:28px;line-height:1.5}.not-found-links{flex-wrap:wrap;gap:16px;margin-top:36px;display:flex}.work-list{grid-template-columns:repeat(12,1fr);gap:clamp(72px,9vw,136px) 24px;padding-bottom:clamp(80px,10vw,150px);display:grid}.work-list .project{grid-column:1/-1}.work-list .project:nth-child(3n+1) .project-image{aspect-ratio:2.2}.work-list .project:not(:nth-child(3n+1)){grid-template-columns:subgrid;align-items:end;display:grid}.work-list .project:not(:nth-child(3n+1)) .project-line{grid-row:1;margin-bottom:0}.work-list .project:not(:nth-child(3n+1)) .project-image{grid-row:1}.work-list .project:not(:nth-child(3n+1)) .project-caption{grid-row:2}.work-list .project:nth-child(3n+2) .project-line{grid-column:1/span 4}.work-list .project:nth-child(3n+2) .project-image,.work-list .project:nth-child(3n+2) .project-caption{grid-column:5/-1}.work-list .project:nth-child(3n) .project-line{grid-column:10/-1}.work-list .project:nth-child(3n) .project-image,.work-list .project:nth-child(3n) .project-caption{grid-column:1/span 8}.work-list .project:not(:nth-child(3n+1)) .project-image{aspect-ratio:1.5}.case-head{padding-top:clamp(36px,5vw,72px);padding-bottom:clamp(36px,4vw,56px)}.breadcrumb{font-size:var(--t-small);color:var(--ink-2);align-items:center;gap:8px;font-weight:500;display:inline-flex}.breadcrumb:hover{color:var(--blue)}.case-head h1{font-size:var(--t-h1);max-width:16ch;margin-top:clamp(28px,4vw,56px)}.case-client{font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:16px;font-weight:500;display:block}.case-info{border-top:1px solid var(--line-strong);flex-wrap:wrap;gap:16px 56px;margin-top:36px;padding-top:16px;font-size:15px;display:flex}.case-info dt{font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-weight:500}.case-cover img{aspect-ratio:16/9;object-fit:cover;background:var(--paper-2);width:100%;height:auto}.case-body{grid-template-columns:repeat(12,1fr);gap:56px 24px;padding-top:clamp(56px,7vw,104px);padding-bottom:clamp(56px,7vw,104px);display:grid}.case-intro{letter-spacing:-.015em;grid-column:1/span 8;font-size:clamp(22px,2.2vw,30px);line-height:1.4}.case-delivered,.case-results{grid-column:1/-1;grid-template-columns:subgrid;border-top:1px solid var(--line-strong);padding-top:20px;display:grid}.case-delivered h2,.case-results h2{font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);grid-column:1/span 4;font-weight:500;line-height:1.6}.case-delivered ul{grid-column:5/-1;gap:14px;max-width:42em;display:grid}.case-delivered li{color:var(--ink-2);padding-left:22px;position:relative}.case-delivered li:before{content:"";background:var(--ink);width:10px;height:1px;position:absolute;top:.8em;left:0}.case-results dl{flex-wrap:wrap;grid-column:5/-1;gap:24px 72px;display:flex}.case-results dd{letter-spacing:-.04em;color:var(--blue);font-size:clamp(40px,4.4vw,64px);font-weight:700;line-height:1}.case-results dt{font-size:var(--t-small);color:var(--ink-3);margin-top:8px}.case-gallery{grid-template-columns:repeat(12,1fr);gap:clamp(40px,5vw,72px) 24px;padding-bottom:clamp(64px,8vw,120px);display:grid}.case-gallery figure{grid-column:1/-1;grid-template-columns:subgrid;align-items:end;display:grid}.case-gallery img{background:var(--paper-2);grid-column:5/-1;width:100%;height:auto}.case-gallery img.portrait{justify-self:start;width:auto;max-width:100%;max-height:82vh}.image-credit{color:var(--ink-3);margin-top:6px;font-size:13px;display:block}.case-cover .image-credit{margin-top:8px}.case-gallery figcaption{font-size:var(--t-small);color:var(--ink-3);grid-area:1/1/auto/span 3;max-width:24em}.next-case a{border-top:1px solid var(--line-strong);justify-content:space-between;align-items:center;gap:24px;padding:28px 0 clamp(72px,9vw,120px);display:flex}.next-label{font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.next-title{font-size:var(--t-h2);letter-spacing:-.03em;margin-right:auto;font-weight:700;line-height:1.1}.next-title span{font-weight:400}.next-case .arrow-icon{width:28px;height:28px;transition:transform .3s var(--ease)}.next-case a:hover{color:var(--blue)}.next-case a:hover .arrow-icon{transform:translate(3px,-3px)}.service-list{grid-template-columns:1fr 1fr;gap:56px clamp(32px,5vw,96px);padding-bottom:clamp(80px,10vw,150px);display:grid}.service-list article{border-top:1px solid var(--line-strong);padding-top:18px}.service-no{letter-spacing:.08em;color:var(--blue);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500;display:block}.service-list h2{margin-top:10px}.service-list p{color:var(--ink-2);max-width:36em;margin-top:14px}.about-story{padding-bottom:clamp(72px,9vw,136px)}.about-story p{letter-spacing:-.015em;max-width:30em;font-size:clamp(22px,2.2vw,30px);line-height:1.4}.about-story p+p{margin-top:1em}.about-story .pill-link{margin-top:40px}.about-method{padding-bottom:clamp(72px,9vw,136px)}.about-method h2,.about-offices h2{border-top:1px solid var(--line-strong);margin-bottom:40px;padding-top:20px}.about-method ol{counter-reset:step;grid-template-columns:repeat(4,1fr);gap:32px 24px;display:grid}.about-method li{counter-increment:step}.about-method li:before{content:counter(step, decimal-leading-zero);font-size:var(--t-label);letter-spacing:.1em;color:var(--blue);margin-bottom:10px;font-weight:500;display:block}.about-method h3{font-size:19px}.about-method p{color:var(--ink-2);margin-top:8px;font-size:15px;line-height:1.55}.about-offices{padding-bottom:clamp(80px,10vw,150px)}.office-grid{grid-template-columns:repeat(3,1fr);gap:32px 24px;display:grid}.office-grid address{color:var(--ink-2);flex-direction:column;font-size:15px;line-height:1.65;display:flex}.office-grid strong{color:var(--ink);letter-spacing:-.015em;margin-bottom:6px;font-size:19px}.office-entity{color:var(--ink);font-weight:500}.office-site{flex-direction:column;display:flex}.office-site+.office-site{margin-top:12px}.contact{background:var(--blue);color:var(--white)}.contact-inner{padding-top:clamp(72px,9vw,136px);padding-bottom:clamp(72px,9vw,136px)}.contact h2{letter-spacing:-.045em;font-size:clamp(40px,5.6vw,84px);line-height:1}.contact h2 span{display:block}.email-link{letter-spacing:-.02em;border-bottom:2px solid var(--blue-soft);align-items:center;gap:.4em;margin-top:clamp(32px,4vw,56px);padding-bottom:6px;font-size:clamp(24px,3vw,44px);font-weight:500;transition:border-color .2s;display:inline-flex}.email-link:hover{border-color:var(--white)}.contact-inner>p{color:#ffffffd6;max-width:32em;margin-top:24px}.site-footer{font-size:var(--t-small);padding-top:56px;padding-bottom:32px}.footer-top{grid-template-columns:4fr 2fr 3fr 3fr;gap:32px 24px;display:grid}.footer-brand img{width:auto;height:28px}.footer-id p{max-width:26em;color:var(--ink-2);margin-top:16px;line-height:1.5}.footer-nav,.footer-offices,.footer-contact{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.footer-offices p{color:var(--ink-2)}.footer-sister{color:var(--ink-3);margin-top:10px;font-size:13px}.footer-sister a{color:var(--ink)}.footer-nav a,.footer-contact a{align-items:center;gap:6px;font-weight:500;display:inline-flex}.footer-nav a:hover,.footer-contact a:hover{color:var(--blue)}.footer-base{border-top:1px solid var(--line);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:48px;padding-top:18px;font-size:13px;display:flex}.footer-base span:first-child{letter-spacing:.08em;text-transform:uppercase;font-weight:500}@media (max-width:1100px){.service-index,.home-results ul,.about-method ol,.footer-top{grid-template-columns:1fr 1fr}.opening-intro{grid-column:1/span 8}.opening-facts{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}.case-intro{grid-column:1/span 10}}@media (max-width:760px){body{font-size:16px}.site-header{height:72px}.brand-lockup{height:26px}.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:8px;min-height:44px;padding:0 4px;font-size:15px;font-weight:500;list-style:none;display:inline-flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav .plus-icon{width:12px;height:12px;transition:transform .2s}.mobile-nav[open] .plus-icon{transform:rotate(45deg)}.mobile-nav nav{top:72px;left:var(--pad-x);right:var(--pad-x);background:var(--white);flex-direction:column;padding:8px 16px;display:flex;position:absolute;box-shadow:0 16px 40px #14161a29}.mobile-nav nav a{border-bottom:1px solid var(--line);padding:14px 0;font-size:17px;font-weight:500}.mobile-nav nav a:last-child{color:var(--blue);border-bottom:0}.opening h1{max-width:none}.opening-intro,.opening-facts{grid-column:1/-1}.opening-facts{grid-template-columns:1fr;gap:14px}.band-head{margin-bottom:32px}.featured .project-standard,.work-list .project:nth-child(n){grid-column:1/-1;display:block}.featured .project-standard .project-line,.work-list .project:nth-child(n) .project-line{margin-bottom:14px}.featured .project-image,.featured .project-large .project-image,.featured .project-standard .project-image,.work-list .project:nth-child(n) .project-image{aspect-ratio:4/3}.project-line{margin-bottom:14px}.project-caption{flex-direction:column;gap:2px}.service-index{grid-template-columns:1fr;gap:0}.home-results ul{grid-template-columns:1fr;gap:32px}.service-index a{padding:16px 0 18px}.client-names{--logo-scale:.66;grid-template-columns:repeat(3,1fr)}.client-logo{height:76px;padding:0 8px}.case-cover{padding-inline:0}.case-cover img{aspect-ratio:auto;height:auto}.case-cover .image-credit{padding-inline:var(--pad-x)}.next-case a{flex-wrap:wrap;gap:8px 16px;padding-top:22px}.next-label{flex-basis:100%}.case-intro{grid-column:1/-1}.case-body{row-gap:40px}.case-delivered,.case-results{display:block}.case-delivered h2,.case-results h2{margin-bottom:16px}.case-gallery figure{flex-direction:column;gap:10px;display:flex}.opening h1 span,.contact h2 span{display:inline}.next-title span{display:block}.service-list{grid-template-columns:1fr;row-gap:40px}.about-method ol,.office-grid{grid-template-columns:1fr;gap:28px}.footer-top{grid-template-columns:1fr 1fr}.footer-id{grid-column:1/-1}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.band-head,.home-results li,.project:not(:first-child),.service-index li,.client-names,.case-body>*,.case-gallery figure,.service-list article,.about-method li,.office-grid address,.contact-inner{animation:linear both reveal;animation-timeline:view();animation-range:entry entry 35%}}}@keyframes reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
