@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;1,400&display=swap";:root,[data-theme=dark]{color-scheme:dark;--bg: #0f0f0e;--text: #f3f1ec;--muted: rgba(243, 241, 236, .7);--accent: #ff4d00;--accent-pressed: #d94400;--text-pressed: #ccc8bf;--toggle-track: rgba(243, 241, 236, .14);--toggle-thumb: #f3f1ec}[data-theme=light]{color-scheme:light;--bg: #f3f1ec;--text: #0f0f0e;--muted: rgba(15, 15, 14, .62);--accent: #ff4d00;--accent-pressed: #d94400;--text-pressed: #4a4a46;--toggle-track: rgba(15, 15, 14, .1);--toggle-thumb: #0f0f0e}:root{--font-main: "Helvetica Neue", Helvetica, Arial, sans-serif;--font-main-weight: 400;--font-main-size: 16px;--font-main-line-height: 24px;--font-main-letter-spacing: 0;--page-inline-min: 20px;--page-inline-desktop: calc(33.33% + 8px) ;--page-top: var(--chrome-top);--page-bottom: 120px;--content-max: 713px;--label-width: 220px;--row-gap: 24px;--text-max: 467px;--section-gap: 48px;--media-left: calc(8.33% - 28px) ;--preview-bottom: 61px;--preview-width: 342px;--preview-height: calc(var(--preview-width) * 3 / 4);--preview-aspect-ratio: 4 / 3;--case-preview-column-gap: 20px;--case-preview-max-width: calc( max(var(--page-inline-min), var(--page-inline-desktop)) - var(--media-left) - var(--case-preview-column-gap) );--project-gap: 28px;--portrait-width: 157px;--portrait-height: 209px;--portrait-tint-opacity: .42;--chrome-top: 24px}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;overflow-x:clip;background:var(--bg);color:var(--text);font-family:var(--font-main);font-weight:var(--font-main-weight);font-size:var(--font-main-size);line-height:var(--font-main-line-height);letter-spacing:var(--font-main-letter-spacing);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .22s ease,color .22s ease}a{color:inherit;text-decoration:none}#root{min-height:100vh}.page-transition-layer{width:100%;min-height:100vh;background:var(--bg)}@media(prefers-reduced-motion:reduce){.page-transition-layer{transition:none!important}}p{margin:0}.page{position:relative;min-height:100vh;padding:var(--page-top) var(--page-inline-min) var(--page-bottom) max(var(--page-inline-min),var(--page-inline-desktop))}.theme-toggle{position:fixed;top:var(--chrome-top);right:24px;z-index:20;display:inline-flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:var(--muted);font-family:DM Sans,sans-serif;font-size:13px;line-height:1;cursor:pointer;transition:color .18s ease}.theme-toggle:hover,.theme-toggle:focus-visible{color:var(--text);outline:none}.theme-toggle-track{position:relative;width:36px;height:20px;border-radius:999px;background:var(--toggle-track);transition:background-color .22s ease}.theme-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--toggle-thumb);transition:transform .22s cubic-bezier(.4,0,.2,1)}.theme-toggle[aria-pressed=true] .theme-toggle-thumb{transform:translate(16px)}.theme-toggle-label{min-width:32px;text-align:left}.locale-toggle{position:fixed;top:var(--chrome-top);right:112px;z-index:20;display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.locale-toggle-button{min-width:34px;padding:6px 10px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-family:DM Sans,sans-serif;font-size:12px;line-height:1;cursor:pointer;transition:background-color .16s ease,color .16s ease}.locale-toggle-button[aria-pressed=true]{background:var(--text);color:var(--bg)}.locale-toggle-button:hover,.locale-toggle-button:focus-visible{color:var(--text);outline:none}.portfolio-intro-header{display:contents}.portfolio-portrait-wrap{position:fixed;left:var(--media-left);top:var(--chrome-top);width:var(--portrait-width);height:var(--portrait-height);overflow:hidden;isolation:isolate;z-index:1}.portfolio-portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.portfolio-portrait-tint{position:absolute;inset:0;background:var(--accent);opacity:0;mix-blend-mode:multiply;transition:opacity .32s ease;pointer-events:none}@media(hover:hover)and (pointer:fine){.portfolio-portrait-wrap:hover .portfolio-portrait-tint{opacity:var(--portrait-tint-opacity)}}.portfolio-layout{width:min(var(--content-max),100%);display:flex;flex-direction:column;gap:var(--section-gap)}.portfolio-row{display:grid;grid-template-columns:minmax(0,var(--label-width)) minmax(0,1fr);column-gap:var(--row-gap);align-items:start}.portfolio-label,.portfolio-copy,.project-title,.project-date,.project-description{font-family:var(--font-main);font-weight:var(--font-main-weight);font-size:15px;line-height:24px;letter-spacing:var(--font-main-letter-spacing)}.portfolio-label{color:var(--muted)}.portfolio-content{display:flex;flex-direction:column;gap:12px;width:100%;max-width:var(--text-max);min-width:0}.portfolio-copy-accent{color:var(--text)}.portfolio-projects{gap:var(--project-gap)}.project-preview{position:fixed;left:var(--preview-x, var(--media-left));top:var( --preview-top, calc(100vh - var(--preview-bottom) - var(--preview-height)) );width:var(--preview-width);height:var(--preview-height);background:var(--preview-color, #ffffff);clip-path:inset(100% 0 0 0);pointer-events:none;visibility:hidden;overflow:hidden;transition:clip-path .52s cubic-bezier(.4,0,.2,1),background-color .32s ease,visibility 0s linear .52s;z-index:10}.project-preview--image{background:var(--bg);box-shadow:0 24px 48px #00000047,0 0 0 1px #f3f1ec0f}[data-theme=light] .project-preview--image{box-shadow:0 24px 48px #0f0f0e1f,0 0 0 1px #0f0f0e14}.project-preview-image{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.project-preview--image:has(.project-preview-image[src*="/covo/cov"]){background:transparent;box-shadow:none}[data-theme=light] .project-preview--image:has(.project-preview-image[src*="/covo/cov"]){box-shadow:none}.project-preview.is-visible{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .52s cubic-bezier(.4,0,.2,1),background-color .32s ease,visibility 0s linear 0s}.project-item,.project-item-content{display:flex;flex-direction:column;width:100%;min-width:0}.project-item-inline-preview{display:none;margin:8px 0;width:100%;aspect-ratio:var(--preview-aspect-ratio);overflow:hidden;background:var(--project-preview-color, rgba(243, 241, 236, .04))}[data-theme=light] .project-item-inline-preview{background:var(--project-preview-color, rgba(15, 15, 14, .04))}.project-item-inline-preview--image{background:#f3f1ec0a}[data-theme=light] .project-item-inline-preview--image{background:#0f0f0e0a}.project-item-inline-preview-image{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.project-item-inline-preview--image:has(.project-item-inline-preview-image[src*="/covo/cov"]){background:transparent;box-shadow:none}.project-item-link{display:flex;flex-direction:column;width:100%;min-width:0;text-decoration:none;color:inherit}.project-header{display:flex;flex-wrap:nowrap;align-items:baseline;justify-content:space-between;gap:16px;width:100%}.project-title{color:var(--text);min-width:0;text-wrap:balance}.project-date{margin:0;color:var(--muted);flex-shrink:0;white-space:nowrap;text-align:right}.project-description{color:var(--muted);width:100%}@media(hover:hover)and (pointer:fine){.project-item-link:hover .project-title.hover-link,.project-item-link:focus-visible .project-title.hover-link{background-position:0 0}.project-item-link:active .project-title.hover-link{--link-accent: var(--accent-pressed);--link-text: var(--text-pressed)}}.link-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:400;line-height:32px}.hover-link{--link-accent: var(--accent);--link-text: var(--text);--hover-link-fill-duration: .52s;display:inline-flex;align-items:center;padding:0 2px;white-space:nowrap;background-image:linear-gradient(90deg,var(--link-accent) 0%,var(--link-accent) 50%,var(--link-text) 50%,var(--link-text) 100%);background-size:200% 100%;background-position:100% 0;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;transition:background-position var(--hover-link-fill-duration) cubic-bezier(.4,0,.2,1)}.hover-link.hover-link--filled,.case-study-body--preview-active .portfolio-label .hover-link{background-position:0 0}@media(hover:hover)and (pointer:fine){.hover-link:hover,.hover-link:focus-visible{background-position:0 0}.hover-link:active{--link-accent: var(--accent-pressed);--link-text: var(--text-pressed)}}@media(prefers-reduced-motion:reduce){.hover-link{--hover-link-fill-duration: .18s;background-image:none;color:var(--text);-webkit-text-fill-color:currentColor;transition:color var(--hover-link-fill-duration) ease}@media(hover:hover)and (pointer:fine){.hover-link:hover,.hover-link:focus-visible{color:var(--accent)}.project-item-link:hover .project-title.hover-link,.project-item-link:focus-visible .project-title.hover-link{color:var(--accent)}.case-study-body--preview-active .portfolio-label .hover-link{color:var(--accent)}.project-item-link:active .project-title.hover-link,.hover-link:active{color:var(--accent-pressed)}}.project-preview{transition:none}.case-study-scroll-preview img{animation:none}.theme-toggle-track,.theme-toggle-thumb,.portfolio-portrait-tint{transition:none}}@media(hover:none),(max-width:640px){.project-preview{display:none}}@media(hover:none),(max-width:640px){.project-item-inline-preview{display:block}}@media(max-width:960px){.locale-toggle,.theme-toggle{top:var(--page-top)}.portfolio-intro-header{display:flex;flex-direction:column;gap:var(--block-gap)}.portfolio-row--intro .portfolio-intro-header .portfolio-label{padding-top:12px}.portfolio-portrait-wrap{position:static;width:var(--portrait-width);height:var(--portrait-height)}.portfolio-portrait-tint{display:none}:root{--page-top: 48px;--page-bottom: 72px;--page-inline-min: 20px;--block-gap: 42px;--section-gap: 40px;--label-width: 100%}.portfolio-layout{gap:var(--block-gap)}.page{padding-left:var(--page-inline-min)}.portfolio-row{grid-template-columns:1fr;row-gap:12px}.portfolio-content{max-width:none}}@media(max-width:640px){:root{--page-top: 32px;--page-bottom: 56px;--page-inline-min: 16px;--section-gap: 32px;--project-gap: 24px;--chrome-top: 16px}.locale-toggle{right:92px}.theme-toggle{right:16px}.portfolio-label,.portfolio-copy,.project-title,.project-date,.project-description{font-size:13px;line-height:22px}.link-row{gap:10px;line-height:28px}}.page--case-study{--case-text-max: 560px;--case-wide-max: 100%}.case-study{width:min(var(--content-max),100%);display:flex;flex-direction:column;gap:var(--section-gap)}.case-study-scroll-preview{position:fixed;left:var(--media-left);bottom:var(--preview-bottom);z-index:1;width:min(var(--case-preview-max-width),100vw - var(--media-left) - var(--page-inline-min));max-width:var(--preview-width);aspect-ratio:var(--preview-aspect-ratio);margin:0;overflow:hidden;pointer-events:auto;background:transparent;box-shadow:none}[data-theme=light] .case-study-scroll-preview{background:transparent;box-shadow:none}.case-study-scroll-preview-button{position:relative;display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}.case-study-scroll-preview-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.case-study-scroll-preview-bg,.case-study-scroll-preview-fg{display:block;width:100%;height:100%;object-position:center}.case-study-scroll-preview-bg{position:absolute;inset:0;z-index:0;object-fit:cover}.case-study-scroll-preview-fg{position:relative;z-index:1;object-fit:contain;animation:case-preview-swap .32s ease both}@keyframes case-preview-swap{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:961px)and (max-width:1280px){.case-study-scroll-preview{max-width:none}}.case-study-header-content{max-width:none;gap:16px}.case-study-meta{color:var(--muted);font-size:13px;line-height:22px}.case-study-title{margin:0;max-width:34ch;font-family:var(--font-main);font-size:clamp(28px,4vw,40px);font-weight:400;line-height:1.15;letter-spacing:-.02em}.case-study-summary{--case-summary-right: minmax(140px, 24%);display:grid;grid-template-columns:minmax(0,1fr) var(--case-summary-right);grid-template-rows:auto 1fr;column-gap:24px;row-gap:12px;margin-top:16px;width:100%;max-width:calc(var(--content-max) - var(--label-width) - var(--row-gap))}.case-study-summary-heading{margin:0;color:var(--muted);font-family:var(--font-main);font-size:15px;font-weight:var(--font-main-weight);line-height:24px;letter-spacing:var(--font-main-letter-spacing)}.case-study-summary-heading--left{grid-column:1;grid-row:1;display:flex;align-items:center;gap:8px;min-width:0;width:100%}.case-study-summary-logo{display:block;width:auto;height:24px;flex-shrink:0}.case-study-summary-logo--theme-light,[data-theme=light] .case-study-summary-logo--theme-dark{display:none}[data-theme=light] .case-study-summary-logo--theme-light{display:block}.case-study-summary-heading--right{grid-column:2;grid-row:1}.case-study-summary-cell--left{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:16px;max-width:28ch;align-self:start}.case-study-summary-cell--right{grid-column:2;grid-row:2;display:flex;flex-direction:column;align-self:stretch;min-height:100%}.case-study-summary-team{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0;font-family:var(--font-main);font-size:15px;font-weight:var(--font-main-weight);line-height:24px;letter-spacing:var(--font-main-letter-spacing)}.case-study-summary-team-item--muted{color:var(--muted)}.case-study-body .portfolio-content{max-width:none;gap:40px}.case-study-block{display:flex;flex-direction:column;gap:16px;max-width:var(--case-text-max)}.case-study-block--intro{max-width:var(--case-text-max)}.case-study-block--subsection{padding-top:8px}.case-study-block--with-media{max-width:calc(var(--content-max) - var(--label-width) - var(--row-gap))}.case-study-heading{margin:0;font-family:var(--font-main);font-size:19px;font-weight:400;line-height:28px;letter-spacing:-.01em}.case-study-heading--sub{font-size:15px;line-height:24px;color:var(--muted)}.case-study-text{--case-text-line: 24px;margin:0;color:var(--text);font-family:var(--font-main);font-size:15px;line-height:var(--case-text-line)}.case-study-inline-preview,.case-study-mobile-preview{display:none}.case-study-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:20px}.case-study-list-title{margin:0 0 4px;color:var(--text);font-size:15px;line-height:24px}.case-study-block--with-subsections{display:flex;flex-direction:column;gap:28px}.case-study-subsection{display:flex;flex-direction:column;gap:8px}.case-study-subheading{margin:0;color:var(--text);font-family:var(--font-main);font-size:15px;font-weight:600;line-height:24px;letter-spacing:-.01em}.case-study-inline-link.hover-link{display:inline;padding:0;font:inherit;letter-spacing:inherit;line-height:inherit;text-decoration:none;vertical-align:baseline;white-space:nowrap}.case-study-inline-link .case-study-link-icon{display:inline-block;width:1.067em;height:1.067em;margin:0 .27em 0 0;padding:0;border:0;border-radius:2px;vertical-align:-.2em;object-fit:contain}.case-study-figure{margin:8px 0 0;width:min(100%,var(--case-wide-max));max-width:none}.case-study-block .case-study-figure{align-self:stretch;max-width:100%}.case-study-image-button{display:block;width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;cursor:zoom-in}.case-study-image-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.case-study-figure>img,.case-study-image-button img{display:block;width:100%;height:auto;border-radius:0;background:#f3f1ec0a}.page--case-study-square .case-study-scroll-preview{aspect-ratio:1 / 1}.page--case-study-square .case-study-figure .case-study-image-button img{aspect-ratio:1 / 1;height:auto;object-fit:cover;object-position:center top}[data-theme=light] .case-study-figure>img,[data-theme=light] .case-study-image-button img{background:#0f0f0e0a}.image-modal{--image-modal-duration: .26s;--image-modal-stagger: 50ms;position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}.image-modal.is-closing{pointer-events:none}.image-modal-backdrop{position:absolute;inset:0;z-index:0;background:transparent;filter:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none;opacity:0;transition:opacity var(--image-modal-duration) ease}.image-modal.is-open:not(.is-closing) .image-modal-backdrop{opacity:1}.image-modal.is-closing .image-modal-backdrop{opacity:0}.image-modal-content{position:relative;z-index:1;display:inline-block;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);overflow:hidden;cursor:default;opacity:0;visibility:hidden;filter:none;background:#0f0f0e1a;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(5px);box-shadow:0 20px 48px #0000002e;transform:translateY(10px) scale(.985);transition:opacity var(--image-modal-duration) ease,transform var(--image-modal-duration) ease,visibility 0s linear var(--image-modal-duration)}.image-modal.is-open:not(.is-closing) .image-modal-content{visibility:visible;opacity:1;transform:translateY(0) scale(1);transition-delay:0ms}.image-modal.is-closing .image-modal-content{visibility:visible;opacity:0;transform:translateY(8px) scale(.985);transition-delay:0ms}.image-modal-image{display:block;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);width:auto;height:auto;object-fit:contain;border-radius:0;box-shadow:none;filter:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;image-rendering:auto}.image-modal-close{position:absolute;top:7.5px;right:7.5px;z-index:2;width:25px;height:25px;padding:0;border:0;border-radius:0;background:transparent;color:var(--accent);cursor:pointer;opacity:0;transition:opacity var(--image-modal-duration) ease,color .16s ease;transition-delay:0ms}.image-modal.is-open:not(.is-closing) .image-modal-close{opacity:1;transition-delay:var(--image-modal-stagger)}.image-modal.is-closing .image-modal-close{opacity:0;transition-delay:0ms}@media(prefers-reduced-motion:reduce){.image-modal{--image-modal-duration: .16s;--image-modal-stagger: 0ms}}.image-modal-close span{position:absolute;top:50%;left:50%;width:7.875px;height:1.25px;border-radius:999px;background:currentColor;transform-origin:center}.image-modal-close span:first-child{transform:translate(-50%,-50%) rotate(45deg)}.image-modal-close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}.image-modal-close:hover,.image-modal-close:hover:focus-visible{background:#fff;color:#ff6b1a;outline:none}.image-modal-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.case-study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;max-width:calc(var(--content-max) - var(--label-width) - var(--row-gap))}.case-study-grid .case-study-figure{margin:0}.case-study-metrics{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:calc(var(--content-max) - var(--label-width) - var(--row-gap))}.case-study-metric{display:flex;flex-direction:column;gap:4px}.case-study-metric-value{margin:0;color:var(--accent);font-size:clamp(28px,4vw,36px);line-height:1.1;letter-spacing:-.02em}.case-study-metric-label{margin:0;color:var(--muted);font-size:13px;line-height:20px}@media(max-width:960px){.case-study-scroll-preview{display:none}.case-study-header+.case-study-body{margin-top:-16px}.case-study-inline-preview{display:block;float:left;width:calc(var(--case-text-line) * 4);height:calc(var(--case-text-line) * 3);aspect-ratio:var(--preview-aspect-ratio);margin:9px 12px -3px 0;padding:0;border:0;border-radius:0;overflow:hidden;background:#f3f1ec0a;color:inherit;cursor:zoom-in}[data-theme=light] .case-study-inline-preview{background:#0f0f0e0a}.case-study-inline-preview:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.case-study-inline-preview img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.case-study-mobile-preview{display:block;width:100%;margin:2px 0 -8px;padding:0;border:0;border-radius:0;overflow:hidden;background:transparent;color:inherit;cursor:zoom-in}.case-study-mobile-preview:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.case-study-mobile-preview img{display:block;width:100%;height:auto;object-fit:contain;object-position:center;background:transparent}[data-theme=light] .case-study-mobile-preview img{background:transparent}.case-study-summary,.case-study-block--with-media,.case-study-block .case-study-figure,.case-study-grid,.case-study-metrics{max-width:none}.case-study-grid{grid-template-columns:1fr}.case-study-metrics{grid-template-columns:1fr;gap:16px}}@media(max-width:640px){.image-modal{padding:20px}.image-modal-content,.image-modal-image{max-width:calc(100vw - 40px);max-height:calc(100vh - 40px)}.image-modal-close{top:5px;right:5px}.case-study-summary{display:flex;flex-direction:column;gap:12px;max-width:none}.case-study-header+.case-study-body{margin-top:-8px}.case-study-summary-heading--left{order:1}.case-study-summary-cell--left{order:2;max-width:none}.case-study-summary-heading--right{order:3;margin-top:8px}.case-study-summary-cell--right{order:4}.case-study-title{font-size:23px;line-height:1.2}.case-study-heading{font-size:17px;line-height:26px}.case-study-text,.case-study-list-title,.case-study-summary-team{--case-text-line: 22px;font-size:13px;line-height:var(--case-text-line)}}
