.portfolio-site{--portfolio-canvas-max:1400px;--portfolio-canvas-half:700px;--portfolio-prose-max:56rem}.portfolio-section-full{width:100%}.portfolio-prose-width{max-width:var(--portfolio-prose-max)}.case-study-body{width:100%;max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0;font-size:1.0625rem;line-height:1.75;color:#171717}.case-study-body>:first-child{margin-top:0}.case-study-body h1,.case-study-body h2,.case-study-body h3{font-weight:700;letter-spacing:-.02em;color:#0a0a0a}.case-study-body h1{font-size:1.75rem;margin-top:2.5rem;margin-bottom:.75rem}.case-study-body h2{font-size:1.375rem;margin-top:2.25rem;margin-bottom:.5rem}.case-study-body h3{font-size:1.125rem;margin-top:1.75rem;margin-bottom:.5rem}.case-study-body p{margin-top:0;margin-bottom:1.25rem}.case-study-body a{color:#ea580c;text-decoration:underline;text-underline-offset:3px}.case-study-body a:hover{color:#c2410c}.case-study-body ol,.case-study-body ul{margin-bottom:1.25rem;padding-left:1.5rem}.case-study-body li{margin-bottom:.35rem}.case-study-body blockquote{margin:1.5rem 0;padding-left:1rem;border-left:4px solid #e5e5e5;color:#525252}.case-study-body hr{margin:2.5rem 0;border:0;border-top:1px solid #e5e5e5}.case-study-body>p:has(>iframe:only-child),.case-study-body>p:has(>img:only-child),.case-study-body>p:has(>video:only-child){position:relative;width:min(100vw,var(--portfolio-canvas-max));max-width:min(100vw,var(--portfolio-canvas-max));margin-left:calc(50% - min(50vw, var(--portfolio-canvas-half)));margin-right:calc(50% - min(50vw, var(--portfolio-canvas-half)));margin-top:3rem;margin-bottom:3rem;padding-left:0;padding-right:0}.case-study-body>p:has(>img:only-child) img,.case-study-body>p:has(>video:only-child) video{width:100%;height:auto;display:block}.case-study-body>p:has(>video:only-child) video{background:#000}.case-study-body .case-study-media-row figure.case-study-media-cell .case-study-media-frame:has(>.case-study-media-tile.portfolio-video-hydrated:not(.case-study-media-tile--playing)):after,.case-study-body .case-study-media-row figure.case-study-media-cell .case-study-media-frame:has(>video.case-study-media-tile:not(.case-study-media-tile--playing)):after,.case-study-body .case-study-media-row figure.case-study-media-cell:has(>video.case-study-media-tile:not(.case-study-media-tile--playing)):after,.case-study-body>p:has(>video:only-child:not([controls])):after{pointer-events:none;content:"";position:absolute;left:50%;top:50%;width:3.25rem;height:3.25rem;transform:translate(-50%,-50%);border-radius:9999px;background-color:rgb(0 0 0/.52);box-shadow:0 2px 12px rgb(0 0 0/.35);border:1px solid rgb(255 255 255/.22);backdrop-filter:blur(3px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill='white' d='M9.5 7.5v9l7.5-4.5-7.5-4.5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:54% 50%;background-size:55% 55%}.case-study-body>p:has(>iframe:only-child) iframe{width:100%;aspect-ratio:16/9;min-height:200px;display:block;border:0}.case-study-body .case-study-media-row{--case-study-media-gap:0.75rem;width:min(100vw,var(--portfolio-canvas-max));max-width:min(100vw,var(--portfolio-canvas-max));margin-left:calc(50% - min(50vw, var(--portfolio-canvas-half)));margin-right:calc(50% - min(50vw, var(--portfolio-canvas-half)));margin-top:3rem;margin-bottom:3rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));display:grid;align-items:start;gap:var(--case-study-media-gap);box-sizing:border-box}@media (min-width:640px){.case-study-body .case-study-media-row{--case-study-media-gap:1rem}}.case-study-body .case-study-media-row+.case-study-media-row{margin-top:var(--case-study-media-gap)}.case-study-body .case-study-media-row:has(+.case-study-media-row){margin-bottom:0}.case-study-body .case-study-media-row figure.case-study-media-cell{margin:0;position:relative;overflow:visible;border-radius:0;background:transparent}.case-study-body .case-study-media-frame{position:relative;width:100%}.case-study-body .case-study-media-row figure.case-study-media-cell:has(.case-study-media-caption--hover) .case-study-media-frame{overflow:hidden}.case-study-body .case-study-media-row figure.case-study-media-cell:has(.case-study-media-caption--hover) .case-study-media-frame:before{content:"";position:absolute;inset:0;z-index:1;background:rgb(0 0 0/.75);opacity:0;transition:opacity .2s ease;pointer-events:none}.case-study-body .case-study-media-row .case-study-media-frame:has(.case-study-media-caption--hover):hover:before,.case-study-body .case-study-media-row figure.case-study-media-cell:focus-within:has(.case-study-media-caption--hover) .case-study-media-frame:before,.case-study-body .case-study-media-row figure.case-study-media-cell:hover:has(.case-study-media-caption--hover) .case-study-media-frame:before{opacity:1}.case-study-body .case-study-media-row .case-study-media-frame:has(.case-study-media-caption--hover):hover:has(>.case-study-media-tile--playing):before,.case-study-body .case-study-media-row figure.case-study-media-cell:focus-within:has(.case-study-media-caption--hover) .case-study-media-frame:has(>.case-study-media-tile--playing):before,.case-study-body .case-study-media-row figure.case-study-media-cell:hover:has(.case-study-media-caption--hover) .case-study-media-frame:has(>.case-study-media-tile--playing):before{opacity:0}.case-study-body .case-study-media-row .case-study-media-frame:has(>.case-study-media-tile--playing) .case-study-media-caption--hover{opacity:0}.case-study-body .case-study-media-row .case-study-media-frame:has(.case-study-media-caption--hover):hover:has(>.portfolio-video-hydrated:not(.case-study-media-tile--playing)):after,.case-study-body .case-study-media-row figure.case-study-media-cell:hover:has(.case-study-media-caption--hover) .case-study-media-frame:has(>.portfolio-video-hydrated:not(.case-study-media-tile--playing)):after,.case-study-body .case-study-media-row figure.case-study-media-cell:hover:has(.case-study-media-caption--hover) .case-study-media-frame:has(>video:not(.case-study-media-tile--playing)):after{opacity:0}.case-study-body .case-study-media-row figure.case-study-media-cell:has(.case-study-media-caption--always){display:flex;flex-direction:column}.case-study-body .case-study-media-row figure.case-study-media-cell:has(.case-study-media-frame>video.case-study-media-tile) .case-study-media-frame{background:#0a0a0a}.case-study-body .case-study-media-caption{margin:0;line-height:1.45;color:#404040}.case-study-body .case-study-media-caption--size-sm{font-size:.75rem}.case-study-body .case-study-media-caption--size-md{font-size:1.5rem}.case-study-body .case-study-media-caption--size-lg{font-size:3rem}.case-study-body .case-study-media-caption--always{padding-top:.5rem;flex-shrink:0}.case-study-body .case-study-media-row figure.case-study-media-cell:has(.case-study-media-frame>video) .case-study-media-caption--always{color:#525252;background:transparent}.case-study-body .case-study-media-caption--hover{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.75rem .75rem .625rem;color:#fff;background:transparent;opacity:0;transition:opacity .2s ease;pointer-events:none}.case-study-body .case-study-media-row .case-study-media-frame:hover .case-study-media-caption--hover,.case-study-body .case-study-media-row figure.case-study-media-cell:focus-within .case-study-media-caption--hover,.case-study-body .case-study-media-row figure.case-study-media-cell:hover .case-study-media-caption--hover{opacity:1}.case-study-body .case-study-media-row .case-study-media-tile{width:100%;height:auto;max-height:none;display:block;object-fit:contain}.case-study-body .case-study-media-row .case-study-media-tile:is(img){cursor:zoom-in}.case-study-body .case-study-media-row .case-study-media-tile.portfolio-video-hydrated,.case-study-body .case-study-media-row .case-study-media-tile:is(video){background:#000;cursor:pointer;width:100%;height:auto;aspect-ratio:auto;min-height:0}.case-study-body .case-study-media-tile.portfolio-video-hydrated>video{width:100%;height:auto;display:block;vertical-align:top}.case-study-body .case-study-media-frame .portfolio-mux-player{width:100%;height:100%;min-height:120px}.case-study-body .case-study-media-tile.portfolio-video-hydrated:not(.case-study-media-tile--playing) .portfolio-mux-player--thumbnail{pointer-events:none}.portfolio-mux-player--lightbox{min-height:200px;max-height:min(82vh,860px)}.case-study-body .case-study-media-row .case-study-media-tile:is(video[data-playback=lightbox]){cursor:zoom-in}.case-study-body .case-study-media-row .case-study-media-tile.portfolio-video-hydrated.case-study-media-tile--playing,.case-study-body .case-study-media-row .case-study-media-tile:is(video).case-study-media-tile--playing{width:100%;max-height:none;cursor:default}.case-study-body .case-study-media-row.case-study-media-row--cols-1{grid-template-columns:minmax(0,1fr)}.case-study-body .case-study-media-row.case-study-media-row--cols-1 figure.case-study-media-cell{background:transparent}.case-study-body .case-study-media-row.case-study-media-row--cols-1 .case-study-media-tile{width:100%;height:auto;max-height:none;object-fit:contain}.case-study-body .case-study-media-row.case-study-media-row--cols-1 .case-study-media-tile:is(video){background:#000}.case-study-body .case-study-media-row.case-study-media-row--cols-2,.case-study-body .case-study-media-row.case-study-media-row--cols-3{grid-template-columns:minmax(0,1fr)}.case-study-body .case-study-media-row.case-study-media-row--cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.case-study-body .case-study-media-row.case-study-media-row--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.case-study-body .case-study-media-row.case-study-media-row--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.case-study-body .case-study-media-row.case-study-media-row--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.case-study-body .case-study-separator{border:0;height:0;margin:2.5rem 0;border-top:1px solid #d4d4d4}.case-study-body pre{overflow-x:auto;margin:1.5rem 0;padding:1rem;border-radius:.5rem;background:#fafafa;border:1px solid #e5e5e5;font-size:.875rem}