:root{--paper: #ffffff;--panel: #f7f8f9;--ink: #3b3535;--rule: #e3e6ea;--accent: #d3af37;--accent-ink: #3b3535;--font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: var(--font);--gutter: clamp(16px, 4vw, 48px);--max: 1200px;--text: 36rem;--radius-lg: 14px;--radius: 8px;--radius-sm: 4px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-stretch:100%;font-optical-sizing:auto}img,video{display:block;max-width:100%;height:auto}a{color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}::selection{background:var(--accent);color:var(--ink)}.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid transparent}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}.site-header .name{font-weight:650;font-stretch:90%;text-decoration:none}.site-header nav{display:flex;align-items:center;gap:4px}.site-header nav a:not(.btn){text-decoration:none;color:var(--ink);padding:8px 10px;border-radius:var(--radius-sm)}.site-header nav a:not(.btn):hover{color:var(--ink);background:var(--panel)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius);font-weight:600;text-decoration:none;border:1.5px solid var(--ink);color:var(--ink);background:transparent}.btn:hover{background:var(--ink);color:var(--paper)}.btn--accent{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn--accent:hover{background:var(--accent);border-color:var(--accent)}.hero{display:flow-root;padding-block:clamp(48px,9vw,120px) clamp(48px,7vw,96px)}.hero h1{margin:0;font-weight:700}.hero .flap{perspective:600px;white-space:nowrap}.hero .flap .sp{white-space:normal}.hero .flap .ch{display:inline-block;transform-origin:50% 60%}.hero .flap .ch:empty{display:none}.hero .flap .ch.flip{animation:flap 70ms ease-out}@keyframes flap{0%{transform:rotateX(-75deg);opacity:.35}to{transform:none;opacity:1}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hero .lede{margin:28px 0 0;color:var(--ink)}.hero .actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}.hero .photo{float:right;width:clamp(74px,8.65vw,113px);margin:0 0 16px 32px;aspect-ratio:1;border-radius:50%;background:var(--panel);overflow:hidden;display:grid;place-items:center;color:var(--ink)}.hero .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.cases{display:grid;gap:24px;padding-bottom:clamp(64px,8vw,120px)}.section-title{font-weight:600;color:var(--ink);margin:0 0 4px}.case-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:center;background:var(--panel);border-radius:var(--radius-lg);padding:clamp(24px,4vw,56px);text-decoration:none}.case-card .client{margin:0;color:var(--ink)}.case-card h2{margin:8px 0 12px;font-weight:700;font-stretch:88%}.case-card p.summary{margin:0;color:var(--ink)}.case-card .more{display:inline-block;margin-top:28px;font-weight:600}.case-card .visual img{border-radius:var(--radius);box-shadow:0 1px 2px #3b35350f,0 12px 40px -12px #3b35352e}.case-card:hover .more,.case-card:focus-visible .more{color:var(--accent)}.roles{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 16px;padding:0}.roles li{padding:3px 10px;border-radius:var(--radius-sm);border:1px solid var(--rule);background:var(--paper);color:var(--ink)}.metrics{list-style:none;padding:20px 0 0;margin:28px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid var(--rule)}.metrics b{display:block;font-weight:650;font-variant-numeric:tabular-nums;margin-bottom:8px}.metrics span{display:block;color:var(--ink)}.contact{border-top:1px solid var(--rule);padding-block:clamp(56px,8vw,112px)}.contact h2{margin:0;font-weight:500;max-width:var(--text)}.contact p{color:var(--ink);max-width:var(--text);margin:16px 0 0}.contact .actions{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}.contact .actions a:not(.btn){font-weight:550;text-underline-offset:4px;text-decoration-color:var(--rule)}.contact .actions a:not(.btn):hover{text-decoration-color:currentColor}.site-footer{padding-block:24px 40px;color:var(--ink)}.case-head{padding-block:clamp(40px,7vw,96px) 40px}.case-head .client{margin:0 0 12px;color:var(--ink)}.case-head h1{margin:0;font-weight:700;font-stretch:85%;max-width:16ch}.case-head .lead{max-width:none;margin:24px 0 0;color:var(--ink)}.case-head,.prose{--text: 40rem;--inner: min(100vw - 2 * var(--gutter), var(--max) - 2 * var(--gutter));--aside: calc((var(--inner) - var(--text)) / 2)}.facts{display:flex;column-gap:var(--facts-gap, 48px);margin:32px 0 0}.facts dt{color:var(--ink)}.facts dd{margin:2px 0 0;font-weight:550}.case-head .metrics{grid-template-columns:repeat(3,8.5rem);column-gap:calc(var(--aside) - 8.5rem);margin-top:32px}.prose{padding-bottom:32px}.prose>*{max-width:var(--text);margin-inline:auto}.prose h2{font-weight:700;font-stretch:90%;margin-top:2.6em;margin-bottom:.5em}.prose p,.prose ul{margin-block:0 1em}.prose ul{padding-left:1.2em}.prose li{margin-bottom:.3em}.prose strong{font-weight:650}.figure{max-width:1040px!important;margin:40px auto 48px}.figure img,.figure video{width:100%;border-radius:var(--radius);background:var(--panel)}.figure figcaption{max-width:var(--text);margin:12px auto 0;color:var(--ink)}.figure-missing{aspect-ratio:16 / 9;border-radius:var(--radius);background:var(--panel);border:1.5px dashed var(--rule);display:grid;place-items:center;color:var(--ink)}.figure .zoom{all:unset;display:block;width:100%;cursor:zoom-in;border-radius:var(--radius)}.figure .zoom:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.figure--wide .scroller{overflow-x:auto;border-radius:var(--radius);scrollbar-width:thin}.figure-row__items{display:flex;gap:16px}.figure-row__item{min-width:0}.figure-row__label{display:block;margin-top:8px;font-weight:550}.case-cta{max-width:var(--max);margin:64px auto 0}.lightbox{border:0;padding:0;max-width:100vw;max-height:100vh;width:100vw;height:100vh;background:#f7f8f9f5}.lightbox::backdrop{background:transparent}.lightbox img{width:100%;height:100%;object-fit:contain;padding:clamp(16px,4vw,48px);cursor:zoom-out}.lightbox .close{position:fixed;top:16px;right:16px}@media(max-width:860px){.hero .photo{float:none;margin:0 0 32px;width:80px;aspect-ratio:1;border-radius:50%}.case-card{grid-template-columns:1fr}.case-card .visual{order:-1}.site-header nav a.hide-sm{display:none}}@media(max-width:720px){.figure--wide .scroller img{width:760px;max-width:none}.figure-row__items{flex-direction:column}.figure-row__item{flex:none!important}.facts{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr;gap:16px}.metrics li{display:grid;grid-template-columns:5.5rem 1fr;align-items:baseline;gap:12px}.metrics b{margin:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.site-header .name,.metrics b,.case-card .client,.case-head .client,.facts dt,.roles li,.figure figcaption,.figure-row__label{font-family:var(--font-mono)}.case-head h1,.case-card h2,.prose h2{font-weight:700}.contact h2{font-weight:500}body{font-size:1.0625rem;line-height:1.375rem}.hero h1{font-size:6.75rem;line-height:6.3125rem}.case-head h1,.contact h2{font-size:3rem;line-height:3.5rem}.prose h2,.metrics b{font-size:1.75rem;line-height:2.125rem}.hero .lede,.case-head .lead{font-size:1.375rem;line-height:1.75rem}.case-head .metrics b{font-size:3rem;line-height:3.5rem;margin-bottom:4px}.facts dd{font-size:1.0625rem;line-height:1.375rem;font-weight:600}.case-card p.summary,.contact p{font-size:1.0625rem;line-height:1.375rem}.btn,.site-header nav a,.site-header .name,.figure-row__label{font-size:.9375rem;line-height:1.25rem}.figure figcaption,.site-footer,.figure-missing,.metrics span{font-size:.8125rem;line-height:1.125rem}.case-card .client,.case-head .client,.facts dt,.roles li{font-size:.75rem;line-height:1rem}@media(max-width:860px){.hero h1{font-size:3.1875rem;line-height:2.9375rem}.case-head h1,.contact h2{font-size:2.125rem;line-height:2.5625rem}.case-card h2{font-size:1.75rem;line-height:2.125rem}.prose h2,.metrics b{font-size:1.375rem;line-height:1.75rem}}@media(min-width:861px)and (max-width:1180px){.hero h1{font-size:4.5rem;line-height:4.1875rem}.case-head h1,.contact h2{font-size:2.125rem;line-height:2.5625rem}}@media(max-width:720px){.case-head .metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:auto}.case-head .metrics li{display:block}.case-head .metrics b{font-size:2.125rem;line-height:2.5625rem}}@media(max-width:1100px){.prose>*{margin-inline:0}.facts{column-gap:40px!important}.case-head .metrics{column-gap:40px}}@media(max-width:720px){.facts{flex-wrap:wrap;row-gap:12px;column-gap:32px!important}.case-head .metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}.case-head h1,.contact h2,.case-card h2,.prose h2,.metrics b,.btn,.site-header .name,.figure-row__label{font-weight:400}.facts dd,.case-card .more,.prose strong{font-weight:600}.case-card{position:relative;overflow:hidden;grid-template-columns:minmax(0,50fr) minmax(0,50fr);align-items:start;padding-block:clamp(32px,5vw,64px)}.case-card>div:first-child{position:relative;z-index:1}.case-card .visual{position:absolute;top:9%;height:118%;left:47%;pointer-events:none}.case-card .visual img{height:100%;width:auto;max-width:none;border-radius:0;box-shadow:none;background:none}.case-card .roles{gap:8px;margin-bottom:20px}.case-card .roles li{padding:5px 12px}.case-card .client{margin-top:0}.case-card h2{margin:12px 0 20px}.case-card .metrics{margin-top:32px;padding-top:32px;gap:24px}.case-card .metrics b{margin-bottom:12px}.case-card .more{margin-top:40px}.case-card h2{font-size:2.125rem;line-height:2.5625rem}.case-card p.summary,.case-card .more{font-size:1.25rem;line-height:1.5625rem}.case-card .metrics b{font-size:1.75rem;line-height:2.125rem}.case-card .roles li,.case-card .client,.case-card .metrics span{font-size:.9375rem;line-height:1.25rem}@media(max-width:860px){.case-card{grid-template-columns:1fr}.case-card .visual{position:static;order:-1;margin:-8px calc(-1*clamp(24px,4vw,56px)) 8px 0;overflow:hidden}.case-card .visual img{height:auto;width:130%}.case-card h2{font-size:1.75rem;line-height:2.125rem}.case-card .metrics b{font-size:1.375rem;line-height:1.75rem}}@media(max-width:720px){.site-header .name .title{display:none}}.case-card{border:1px solid #e5e8eb}
