@font-face{font-family:Fakt;src:url(/fonts/Fakt-Normal.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fakt;src:url(/fonts/Fakt-NormalItalic.otf) format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Fakt;src:url(/fonts/Fakt-Medium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Fakt;src:url(/fonts/Fakt-MediumItalic.otf) format("opentype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Fakt;src:url(/fonts/Fakt-SemiBold.otf) format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Fakt;src:url(/fonts/Fakt-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:PP Palma;src:url(/fonts/PPPalma-FizzyMedium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:PP Palma;src:url(/fonts/PPPalma-FizzyHeavy.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}:root{--bg:#ffffff;--ink:#2a2a2a;--ink-soft:#4a4a4a;--muted:#8a8a8a;--muted-2:#b6b6b6;--line:#e7e7e7;--accent:rgb(11,107,0);--page-main-col:660px;--site-nav-width:176px;--font-stack:"Fakt",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-heading:"PP Palma",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--ink);font-family:var(--font-stack);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}p{margin:0 0 18px}h1,h2,h3,h4{margin:0;font-family:var(--font-heading);font-weight:500;letter-spacing:-.025em}.site-nav{position:fixed;top:34px;left:38px;z-index:120;width:104px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:600;line-height:1;letter-spacing:.08em;text-transform:uppercase}.site-nav-brand{display:inline-block;margin-bottom:18px;color:var(--muted)}.site-nav-list{display:grid;grid-gap:14px;gap:14px;margin:0;padding:0;list-style:none}.site-nav-item{margin:0}.site-nav-link{color:var(--ink);transition:color .12s ease}.site-nav-link.is-active,.site-nav-link:hover{color:var(--accent)}.page-transition-frame{padding-left:var(--site-nav-width)}.page{--page-toc-col:220px;--page-col-gap:80px;container-type:inline-size;position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "byline" "title" "lead" "body" "more" "foot";grid-row-gap:14px;row-gap:14px;width:min(100%,1180px);margin:0 auto;padding:34px 56px 120px}.page .page-body,.page .page-byline,.page .page-lead,.page .page-lead-group,.page .page-title,.page>.case-study-more{justify-self:center;width:min(100%,var(--page-main-col));max-width:var(--page-main-col)}.page>.home-foot{grid-area:foot;width:100%;max-width:none}.case-hero-wrap{grid-area:hero;position:relative}.page>.case-hero-placeholder{grid-area:hero}.case-hero-placeholder{position:relative;aspect-ratio:16/9;border-radius:18px;background:#f3f1ec;overflow:hidden}.case-hero-wrap .case-hero-placeholder{width:100%}.case-hero-placeholder img,.thumb-img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.case-hero-placeholder iframe{position:absolute;top:-2px;left:-2px;width:calc(100% + 4px);height:calc(100% + 4px);border:0;pointer-events:none}.case-hero-media,.case-hero-media-fit{position:absolute;inset:0}.case-hero-media iframe{opacity:0;transition:opacity .42s ease}.case-hero-placeholder.has-video.is-video-ready .case-hero-media iframe{opacity:1}.case-hero-spinner{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:1;transition:opacity .32s ease}.case-hero-placeholder.is-video-ready .case-hero-spinner{opacity:0}.case-hero-spinner-ring{width:34px;height:34px;border-radius:50%;border:3px solid rgba(0,0,0,.12);border-top-color:rgba(0,0,0,.45);animation:case-hero-spin .8s linear infinite}@keyframes case-hero-spin{to{transform:rotate(1turn)}}.case-hero-sound-controls{position:absolute;bottom:14px;left:14px;z-index:10;width:40px}.case-hero-wrap[data-sound-hint]{padding-bottom:44px}.case-hero-wrap[data-sound-hint] .case-hero-sound-controls{bottom:calc(44px + 14px)}.case-hero-sound-toggle,.case-video-restart-toggle{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.55);color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .18s ease}.case-hero-sound-hint{position:absolute;top:calc(100% + 11px);left:50%;z-index:2;padding:7px 12px 5px;border-radius:8px;background:#000;color:#fff;font-size:12px;font-weight:500;line-height:1.2;letter-spacing:-.01em;white-space:nowrap;pointer-events:none;opacity:0;transform:translateX(-50%) translateY(6px)}.case-hero-wrap.is-video-ready .case-hero-sound-hint{animation:case-hero-sound-hint-in .52s cubic-bezier(.2,.7,.1,1) .5s forwards}@keyframes case-hero-sound-hint-in{to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (prefers-reduced-motion:reduce){.case-hero-wrap.is-video-ready .case-hero-sound-hint{animation:none;opacity:1;transform:translateX(-50%)}}.case-hero-sound-hint:before{content:"";position:absolute;bottom:100%;left:50%;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #000;transform:translateX(-50%)}.case-hero-sound-toggle:hover,.case-video-restart-toggle:hover{background:rgba(255,255,255,.72)}.case-hero-sound-toggle:focus-visible,.case-video-restart-toggle:focus-visible{outline:2px solid rgba(0,0,0,.35);outline-offset:2px}.page-date,.page-name{position:absolute;top:28px;margin:0;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.04em}.page-name{left:56px}.page-date{right:56px}.page-title{grid-area:title;margin-top:0;color:var(--ink);font-size:clamp(36px,4.6vw,52px);font-weight:500;line-height:.96;letter-spacing:-.035em}.page-title-logo{display:block;width:clamp(160px,20vw,232px);height:clamp(36px,4.6vw,52px);background-color:currentColor;opacity:0;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;animation:case-content-in .62s cubic-bezier(.2,.7,.1,1) .98s forwards}.title-word{display:inline-block;margin-right:.25em;opacity:0;transform:translateY(.45em);filter:blur(6px);animation:title-rise .85s cubic-bezier(.2,.7,.1,1) forwards}@keyframes title-rise{to{opacity:1;transform:translateY(0);filter:blur(0)}}.anim-char-cascade{display:inline}.title-char{display:inline-block;opacity:0;transform:translateY(.3em);animation:char-rise .48s cubic-bezier(.2,.7,.1,1) forwards}@keyframes char-rise{to{opacity:1;transform:translateY(0)}}.anim-wipe{display:inline}.wipe-line{display:inline-block;margin-right:.25em;margin-bottom:-.16em;overflow:hidden;vertical-align:bottom;padding-bottom:.16em;line-height:.88}.wipe-inner{display:inline-block;transform:translateY(110%);animation:wipe-up .88s cubic-bezier(.2,.7,.1,1) forwards}@keyframes wipe-up{to{transform:translateY(0)}}.anim-drift{display:inline-block;opacity:0;transform:translateX(-28px);filter:blur(8px);animation:drift-in 1.2s cubic-bezier(.2,.7,.1,1) forwards}@keyframes drift-in{to{opacity:1;transform:translateX(0);filter:blur(0)}}.anim-scramble{display:inline-block;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.scramble-char{min-width:.55em;text-align:center;color:var(--ink)}.anim-scramble-done,.scramble-char{display:inline-block}@media (prefers-reduced-motion:reduce){.anim-drift,.title-char,.title-word,.wipe-inner{animation:none;opacity:1;transform:none;filter:none}}.anim-toggle{position:fixed;right:24px;bottom:24px;z-index:50;font-family:var(--font-stack)}.anim-trigger{display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);font-size:12px;font-weight:500;letter-spacing:-.01em;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.06);transition:border-color .12s ease,transform .12s ease}.anim-trigger:hover{border-color:var(--ink)}.anim-trigger:active{transform:scale(.98)}.anim-trigger-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.anim-menu{position:absolute;right:0;bottom:calc(100% + 8px);width:280px;margin:0;padding:6px;list-style:none;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 36px rgba(0,0,0,.1);animation:menu-in .16s cubic-bezier(.2,.7,.1,1) both}@keyframes menu-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.anim-menu li{margin:0}.anim-menu .anim-divider{height:1px;margin:4px 6px;background:var(--line)}.anim-menu button{display:grid;width:100%;grid-gap:2px;gap:2px;padding:9px 12px;border:0;border-radius:9px;background:transparent;color:inherit;text-align:left;cursor:pointer}.anim-menu button:hover{background:rgba(58,44,245,.06)}.anim-menu button.is-active{background:rgba(58,44,245,.09)}.anim-menu .anim-label{color:var(--ink);font-size:13px;font-weight:500;letter-spacing:-.01em}.anim-menu .anim-hint{color:var(--muted);font-size:11px;line-height:1.4}@media (max-width:520px){.anim-toggle{right:16px;bottom:16px}.anim-menu{width:calc(100vw - 32px);max-width:280px}}.page-transition-frame{min-height:100vh;transform-origin:50% 36%;animation-duration:.62s;animation-timing-function:cubic-bezier(.2,.7,.1,1);animation-fill-mode:backwards}.page-transition-frame[data-page-transition-enabled=true][data-page-transition=fade]{animation-name:page-fade-in}.page-transition-frame[data-page-transition-enabled=true][data-page-transition=rise]{animation-name:page-rise-in}.page-transition-frame[data-page-transition-enabled=true][data-page-transition=wipe]{animation-name:page-wipe-in}.page-transition-frame[data-page-transition-enabled=true][data-page-transition=scale]{animation-name:page-scale-in}.page-transition-frame[data-page-transition-enabled=true][data-page-transition=blur]{animation-name:page-blur-in}.transition-toggle{bottom:24px}.ascii-toggle{bottom:120px}.link-style-toggle{bottom:72px}.ascii-menu{display:grid;grid-gap:2px;gap:2px}.ascii-color-control{display:grid;grid-gap:8px;gap:8px;padding:10px 12px 12px}.ascii-color-control input{width:100%;accent-color:var(--accent)}.case-hero-transition-merchant-chat{view-transition-name:case-hero-merchant-chat}.case-hero-transition-merchant-picking{view-transition-name:case-hero-merchant-picking}.case-hero-transition-handshake-jobs{view-transition-name:case-hero-handshake-jobs}.case-hero-transition-handshake-cards{view-transition-name:case-hero-handshake-cards}.case-hero-transition-rosetta-ds{view-transition-name:case-hero-rosetta-ds}.case-hero-transition-plonk{view-transition-name:case-hero-plonk}.case-hero-transition-live-order-vam{view-transition-name:case-hero-live-order-vam}.case-hero-placeholder.case-hero-transition-live-order-vam{--hero-inner-pad-top:clamp(24px,5%,36px);--hero-inner-pad-bottom:clamp(24px,5%,40px)}.case-hero-placeholder.case-hero-transition-live-order-vam .case-hero-media{top:var(--hero-inner-pad-top);right:auto;bottom:var(--hero-inner-pad-bottom);left:50%;width:min(100%,var(--page-main-col));max-height:calc(100% - var(--hero-inner-pad-top) - var(--hero-inner-pad-bottom));height:auto;aspect-ratio:4/3;transform:translateX(-50%)}.case-hero-placeholder.case-hero-transition-live-order-vam .case-hero-media-fit iframe{top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:none}.case-hero-placeholder.case-hero-transition-merchant-picking{--hero-inner-pad-top:clamp(10px,3%,18px);--hero-inner-pad-bottom:clamp(10px,3%,18px)}.case-hero-placeholder.case-hero-transition-merchant-picking .case-hero-media{top:var(--hero-inner-pad-top);right:auto;bottom:var(--hero-inner-pad-bottom);left:50%;width:auto;max-height:calc(100% - var(--hero-inner-pad-top) - var(--hero-inner-pad-bottom));height:100%;aspect-ratio:100/172.68;transform:translateX(-50%)}.case-hero-placeholder.case-hero-transition-merchant-picking .case-hero-media-fit iframe{top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:none}html[data-case-hero-transition=off] .case-hero-transition{view-transition-name:none!important}html[data-navigating-to-case-study] .home-work,html[data-navigating-to-case-study] .home-work .card-item{animation:none!important;opacity:1!important;transform:none!important}html:not([data-case-hero-transition=off]) ::view-transition-group(root){animation-duration:0s}html:not([data-case-hero-transition=off]) ::view-transition-old(root){animation:none;opacity:0}html:not([data-case-hero-transition=off]) ::view-transition-new(root){animation:none}.case-study-more,.case-study-more *{view-transition-name:none!important}::view-transition-group(case-hero-handshake-cards),::view-transition-group(case-hero-handshake-jobs),::view-transition-group(case-hero-live-order-vam),::view-transition-group(case-hero-merchant-chat),::view-transition-group(case-hero-merchant-picking),::view-transition-group(case-hero-plonk),::view-transition-group(case-hero-rosetta-ds){animation-duration:.68s;animation-timing-function:cubic-bezier(.2,.7,.1,1)}::view-transition-new(case-hero-handshake-cards),::view-transition-new(case-hero-handshake-jobs),::view-transition-new(case-hero-live-order-vam),::view-transition-new(case-hero-merchant-chat),::view-transition-new(case-hero-merchant-picking),::view-transition-new(case-hero-plonk),::view-transition-new(case-hero-rosetta-ds),::view-transition-old(case-hero-handshake-cards),::view-transition-old(case-hero-handshake-jobs),::view-transition-old(case-hero-live-order-vam),::view-transition-old(case-hero-merchant-chat),::view-transition-old(case-hero-merchant-picking),::view-transition-old(case-hero-plonk),::view-transition-old(case-hero-rosetta-ds){height:100%;overflow:clip;border-radius:18px;object-fit:cover}.title-animation-toggle{bottom:72px}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}@keyframes page-rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes page-wipe-in{0%{opacity:0;-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0)}to{opacity:1;-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes page-scale-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes page-blur-in{0%{opacity:0;filter:blur(12px);transform:translateY(8px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes ascii-aurora-reveal{0%{opacity:0;-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);transform:translate3d(0,calc(var(--ascii-parallax-y, 0px) + 8px),0)}to{opacity:.64;-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);transform:translate3d(0,var(--ascii-parallax-y,0),0)}}@keyframes home-hero-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes home-work-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes home-card-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.page-transition-frame{animation:none}.home-ascii-aurora{animation:none;-webkit-clip-path:none;clip-path:none;opacity:.42}.home-hero-copy,.home-work,.home-work .card-item{animation:none}}@media (max-width:520px){.transition-toggle{bottom:16px}.title-animation-toggle{bottom:64px}}.case-eyebrow,.page-byline{gap:6px;margin:0 0 10px;min-height:14px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:400;letter-spacing:.04em;text-transform:uppercase}.case-eyebrow,.case-eyebrow>span,.page-byline{display:inline-flex;align-items:center;line-height:14px}.case-eyebrow>span{height:14px}.page-byline{grid-area:byline;margin:30px 0 -2px;opacity:0;animation:company-fade-in .62s ease .16s forwards}.case-eyebrow-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 14px}.case-eyebrow-logo,.company-logo{display:block;width:12px;height:12px;margin:0;border-radius:3px;object-fit:contain;object-position:center center}.card-dot,.case-eyebrow-dot{color:var(--muted-2)}@keyframes company-fade-in{to{opacity:1}}.page-body,.page-lead,.page-lead-group,.page-toc{opacity:0;animation:case-content-in .62s cubic-bezier(.2,.7,.1,1) .98s forwards}@keyframes case-content-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-lead{color:var(--ink);font-size:clamp(20px,1.9vw,24px);font-weight:500;line-height:1.32;letter-spacing:-.022em}.page-lead,.page-lead-group{grid-area:lead;margin:36px 0 0}.page-lead-group{display:grid;grid-gap:16px;gap:16px}.page-lead-group .page-lead{grid-area:unset;margin:0}.scroll-highlight{display:inline;padding:.1em .22em;border-radius:3px;background-color:transparent;background-image:linear-gradient(#fff0a8,#fff0a8);background-position:0 0;background-repeat:no-repeat;background-size:0 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .76s cubic-bezier(.2,.7,.1,1)}.scroll-highlight.is-visible{background-size:100% 100%}@media (prefers-reduced-motion:reduce){.scroll-highlight{background-size:100% 100%;transition:none}}.page-toc{display:none}.toc-title{margin:0 0 18px;color:var(--ink);font-size:13px;font-weight:500;line-height:1.35;letter-spacing:-.01em}.page-toc ul{list-style:none;margin:0;padding:0}.page-toc .toc-item{position:relative;margin:0 0 8px;padding-left:12px;color:var(--muted);font-size:12px;line-height:1.45;letter-spacing:0;transition:color .12s ease}.page-toc .toc-item:before{content:"";position:absolute;top:6px;left:0;width:4px;height:4px;border-radius:50%;background:transparent;transition:background .12s ease}.page-toc .toc-item.is-active{color:var(--ink)}.page-toc .toc-item.is-active:before{background:var(--accent)}.page-toc a:hover{color:var(--ink)}.page-body{grid-area:body;margin-top:18px;color:var(--ink-soft);font-size:18px;line-height:1.65}.page-body .section-placeholder-image,.page-body img:not(.case-eyebrow-logo):not(.thumb-img):not(.vimeo-thumb-poster):not(.inset-media-img){display:block;width:100cqw;max-width:100cqw;height:auto;margin-top:28px;margin-left:calc((100% - 100cqw) / 2);border-radius:18px}.page-case-handshake-cards .page-body img:not(.case-eyebrow-logo):not(.thumb-img):not(.vimeo-thumb-poster):not(.inset-media-img){width:100%;max-width:var(--page-main-col);margin-left:0;margin-inline:0;object-fit:contain}.page-body img.case-media-contained:not(.case-eyebrow-logo):not(.thumb-img):not(.vimeo-thumb-poster):not(.inset-media-img){width:100%;max-width:var(--page-main-col);margin-left:0;margin-inline:0}.page-body img.case-media-contained:not(.case-eyebrow-logo):not(.thumb-img):not(.vimeo-thumb-poster):not(.inset-media-img)+.case-media-caption{margin-top:10px;margin-inline:auto}.page-lead-group .page-lead-divider{margin:24px 0 0;padding:0;border:0;border-top:1px solid var(--line)}.home-intro .home-intro-divider{margin:28px 0;padding:0;border:0;border-top:1px solid #d6d6d6}.page-case-handshake-cards .page-body>.page-section:first-child{margin-top:40px}.page-case-handshake-cards .page-body img:not(.case-eyebrow-logo):not(.thumb-img):not(.vimeo-thumb-poster):not(.inset-media-img)+.case-media-caption{margin-top:8px;text-align:center}.page-body img:not(.case-eyebrow-logo):not(.thumb-img):not(.vimeo-thumb-poster):not(.inset-media-img){object-fit:cover}.page-body .card-thumb img{width:100%;height:100%;max-width:none;margin:0;border-radius:0}.page-body .case-video{width:100cqw;max-width:100cqw;margin:28px 0 40px calc((100% - 100cqw) / 2)}.page-body .case-video-inset{width:100cqw;max-width:100cqw;margin:56px 0 64px calc((100% - 100cqw) / 2)}.page-body .case-video-inset .case-video-frame{aspect-ratio:auto;padding:clamp(24px,5%,36px) 0 clamp(24px,5%,40px);background:#f3f1ec}.page-body .case-video-inset .case-video-caption{width:min(100%,480px);max-width:480px;margin:12px auto 0;padding:0 16px;text-align:center}.page-body .case-video-inset .case-video-wrap{width:min(100%,var(--page-main-col));max-width:var(--page-main-col);margin-inline:auto;height:auto}.page-body .case-video-inset .case-video-media,.page-body .case-video-inset .case-video-surface{height:auto}.page-body .case-video-inset .case-video-frame iframe{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:4/3}.page-body .case-video-inset.case-video-portrait .case-video-frame{padding:clamp(28px,7%,48px) clamp(24%,8vw,32%)}.page-body .case-video-inset.case-video-portrait .case-video-wrap{position:relative;width:min(34vw,272px);max-width:100%;margin-inline:auto;aspect-ratio:100/172.68;height:auto}.page-body .case-video-inset.case-video-portrait .case-video-media,.page-body .case-video-inset.case-video-portrait .case-video-surface{position:absolute;inset:0;overflow:hidden;border-radius:12px}.page-body .case-video-inset.case-video-portrait .case-video-frame iframe{position:absolute;top:50%;left:50%;width:100%;height:100%;aspect-ratio:auto;transform:translate(-50%,-50%) scale(1.05);transform-origin:center center}.page-body .case-video-inset-bordered .case-video-frame{padding:clamp(12px,2vw,20px);background:transparent;border:1px solid var(--line)}.page-body .case-video-inset-bordered .case-video-wrap{width:100%;max-width:none}.page-body .case-video-inset-bordered .case-video-frame iframe{aspect-ratio:16/9}.page-body .case-app{width:100cqw;max-width:100cqw;margin:0 0 56px calc((100% - 100cqw) / 2);min-width:0}.page-body .case-app-heading,.page-section h2{color:var(--ink);font-family:var(--font-stack);font-size:clamp(20px,1.9vw,24px);font-weight:500;line-height:1.32;letter-spacing:-.022em}.page-body .case-app-heading{margin:40px 0 16px}.page>.case-study-more{grid-area:more;position:relative;margin-top:80px;padding-top:56px;opacity:1!important;animation:none!important;transform:none!important}.page>.case-study-more:before{content:"";position:absolute;top:0;left:0;width:100%;border-top:1px solid var(--line)}.page>.case-study-more .card-item{animation:none!important;opacity:1!important;transform:none!important}.page .case-study-more-grid{width:100%;max-width:100%;margin-left:0;grid-template-columns:1fr;row-gap:48px}.case-study-more-heading{margin:0 0 32px;color:var(--ink);font-family:var(--font-stack);font-size:clamp(20px,1.9vw,24px);font-weight:500;line-height:1.32;letter-spacing:-.022em}.case-study-more-grid{list-style:none;margin:0;padding:0}.case-study-more .card-item,.case-study-more .card-link{min-width:0;width:100%}.case-study-more .card-foot{width:100%;max-width:100%;padding-top:16px}.case-study-more .card-title{width:100%;max-width:100%;margin:0;font-family:var(--font-stack);font-size:22px;font-weight:500;line-height:1.22;letter-spacing:-.02em;text-wrap:pretty}.case-study-more .card-link:hover .card-title{color:var(--accent)}.case-app-frame{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;border-radius:18px;background:#f3f1ec}.case-app-frame iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}.case-video-frame{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:#f3f1ec}.case-video-media,.case-video-surface,.case-video-wrap{position:relative;width:100%;height:100%}.case-video-controls{position:absolute;bottom:16px;left:16px;z-index:10;width:40px}.case-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;transition:opacity .24s ease}.case-video-frame.is-paused iframe{opacity:.5}.case-video-pause-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .24s ease}.case-video-frame.is-paused .case-video-pause-overlay{opacity:1}.case-video-pause-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:rgba(0,0,0,.38);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.case-video-restart-toggle:active{transform:none}.case-video-restart-icon{position:relative;z-index:1;display:block;flex-shrink:0;transform-origin:center}.case-video-restart-toggle.is-restarting .case-video-restart-icon{animation:case-video-restart-spin .48s cubic-bezier(.2,.8,.1,1)}@keyframes case-video-restart-spin{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}@media (prefers-reduced-motion:reduce){.case-video-restart-toggle.is-restarting .case-video-restart-icon{animation:none}}.case-video-restart-ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.case-video-restart-ring-track{fill:none;stroke:#000;stroke-width:2.5;opacity:.18;mix-blend-mode:multiply}.case-video-restart-ring-progress{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round}@media (prefers-reduced-motion:reduce){.case-video-frame iframe,.case-video-pause-overlay{transition:none}}.case-app-caption,.case-media-caption,.case-video-caption{margin:10px 0 0;max-width:520px;margin-inline:auto;color:var(--muted);font-size:14px;line-height:1.45;text-align:center;text-wrap:balance}.page-body p{margin:0 0 16px}.page-body p:has(+.case-app),.page-body p:has(+.case-video),.page-body p:has(+.section-placeholder-image),.page-body p:has(+img:not(.case-eyebrow-logo):not(.thumb-img):not(.vimeo-thumb-poster):not(.inset-media-img)){margin-bottom:32px}.page-body p+.case-video:not(.case-video-inset),.page-body p+.section-placeholder-image,.page-body p+img:not(.case-eyebrow-logo):not(.thumb-img):not(.vimeo-thumb-poster):not(.inset-media-img){margin-top:40px}.page-body ul{margin:0 0 16px;padding-left:1.25em}.page-body li{margin-bottom:8px}.page-body li:last-child{margin-bottom:0}.home-foot-link,.page-body a:not(.card-link),.page-lead a,.page-lead-group a,.page-title a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--muted-2);text-decoration-color:var(--muted-2);text-underline-offset:3px;transition:background .12s ease,border-color .12s ease,color .12s ease,-webkit-text-decoration-color .12s ease;transition:background .12s ease,border-color .12s ease,color .12s ease,text-decoration-color .12s ease;transition:background .12s ease,border-color .12s ease,color .12s ease,text-decoration-color .12s ease,-webkit-text-decoration-color .12s ease}.home-foot-link:hover,.page-body a:not(.card-link):hover,.page-lead a:hover,.page-lead-group a:hover,.page-title a:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.page-body .card-link{color:var(--ink);text-decoration:none}.case-footnotes{margin:32px 0 0;padding-top:20px;border-top:1px solid var(--line)}.case-footnote-anchor{white-space:nowrap;cursor:default;vertical-align:baseline}.case-footnote-anchor-text{position:relative;text-decoration:none;vertical-align:baseline}.case-footnote-anchor-text:after{content:"";position:absolute;left:50%;right:auto;bottom:calc(.05em - 1px);width:round(down,100%,3px);height:4px;transform:translateX(-50%);background-image:radial-gradient(circle,var(--muted-2) .9px,transparent .9px);background-size:3px 3px;background-repeat:repeat-x;background-position:0 100%;pointer-events:none}@media (max-width:960px),(pointer:coarse){.case-footnote-anchor{cursor:pointer}}.case-footnote{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.case-footnote+.case-footnote{margin-top:8px}.case-footnote:target{color:var(--ink-soft)}.case-footnote-mark{display:inline-block;margin-right:.2em;padding:1px 5px;border-radius:4px;background:rgba(11,107,0,.14);color:var(--accent);font-size:.75em;font-weight:600;line-height:1.3;vertical-align:.05em}.case-footnote-back{margin-left:.35em;color:var(--muted-2);font-size:.85em;line-height:0;text-decoration:none;vertical-align:baseline}.case-footnote-back:hover{color:var(--accent)}.case-footnote-preview{position:fixed;z-index:90;max-height:min(40vh,280px);padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);box-shadow:0 10px 32px rgba(0,0,0,.08);color:var(--muted);font-size:13px;line-height:1.5;pointer-events:none}.case-footnote-preview p{margin:0}.page-body .case-footnote-back{text-decoration:none;margin-inline:0;margin-left:.35em;padding:0;background:none}.page-body .case-footnote-back:after,.page-body .case-footnote-back:before{content:none}.page-body .solution-lead{margin:56px 0 0;color:var(--ink);font-size:clamp(20px,1.9vw,24px);font-weight:500;line-height:1.32;letter-spacing:-.022em}.page-body p+.solution-lead{margin-top:88px}.page-body .solution-lead+.case-video,.page-body .solution-lead+.section-placeholder-image,.page-body .solution-lead+p{margin-top:24px}.page-body .case-video+p,.page-body .case-video-inset+p,.page-body .section-placeholder-image+p,.page-body img:not(.case-eyebrow-logo):not(.thumb-img):not(.vimeo-thumb-poster):not(.inset-media-img)+p{margin-top:40px}.page-body img:not(.case-eyebrow-logo):not(.thumb-img):not(.vimeo-thumb-poster):not(.inset-media-img)+.case-media-caption{margin-top:10px;margin-inline:auto}.page-body .case-media-caption+p{margin-top:32px}.page-body .solution-lead+.case-criteria{margin-top:24px}.page-body .case-body-aside{color:var(--muted);font-size:15px;line-height:1.55}.page-body .case-study-interest{margin-top:56px}.case-criteria{margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--bg)}.case-criteria li{display:flex;flex-direction:column;gap:12px;padding:28px 28px 20px;color:var(--ink);font-size:clamp(18px,1.7vw,20px);font-weight:500;line-height:1.32;letter-spacing:-.018em}.case-criteria-title{margin:0;color:inherit;font:inherit;letter-spacing:inherit}.case-criteria-body{margin:0;color:var(--ink-soft);font-size:18px;font-weight:400;line-height:1.55;letter-spacing:-.012em}.page-body .case-criteria-body,.page-body .case-criteria-title{margin:0}.case-criteria li+li{border-top:1px solid var(--line)}.page-body ul.case-criteria{padding-left:0;margin-bottom:0}.page-section>.solution-lead:first-child{margin-top:0}.quote-block{position:relative;margin:40px 0 44px;padding:clamp(28px,4vw,40px) clamp(24px,3.5vw,36px);border-radius:18px;background:#f3f1ec;opacity:0}.quote-block.is-visible{opacity:1}.quote-block-text{position:relative;margin:0;padding:0;border:0;text-align:center}.quote-block-text p{margin:0;color:var(--ink);font-family:var(--font-heading);font-size:clamp(22px,2.35vw,28px);font-weight:500;line-height:1.28;letter-spacing:-.03em;text-align:center}.quote-word{display:inline-block;margin-right:.28em;opacity:0}.quote-mark-open{margin-right:.02em}.quote-mark-close{margin-right:0;margin-left:-.2em}.quote-block:not(.is-visible) .quote-word{opacity:0;animation:none}.quote-block.is-visible .quote-word{animation:quote-word-fade .38s ease forwards}@keyframes quote-word-fade{to{opacity:1}}.case-section-eyebrow,.quote-block-cite{color:var(--accent);font-size:13px;font-weight:500;line-height:1.35;letter-spacing:.04em;text-transform:uppercase}.case-section-eyebrow{position:relative}.case-section-eyebrow:after,.case-section-eyebrow:before{content:"";position:absolute;right:calc(100% + 16px);top:50%;border-radius:50%;transform:translate(50%,calc(-50% - 1.5px));pointer-events:none}.case-section-eyebrow:before{width:14px;height:14px;background:#e7f0e5}.case-section-eyebrow:after{width:4px;height:4px;background:var(--accent)}.quote-block-cite{display:block;margin:18px 0 0;text-align:center}.page-body p.case-section-eyebrow{margin:32px 0 8px}.case-role-section{margin:76px 0 56px;padding:30px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.case-role-section p.case-section-eyebrow{margin:0 0 8px}.case-role-section p:last-child{margin-bottom:0}@media (prefers-reduced-motion:reduce){.quote-block{opacity:1}.quote-word{opacity:1;animation:none}}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1px;gap:1px;width:100%;max-width:100%;margin:36px 0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--line)}.page-body p:has(+.stat-grid){margin-bottom:0}.page-body .stat-grid+p{margin-top:0}.case-inset-media{width:50%;margin-inline:auto}.case-inset-media img{display:block;width:100%;max-width:100%;height:auto;margin:0;border-radius:12px;object-fit:contain}.case-inset-media .case-media-caption{max-width:100%;margin-top:12px;text-align:center}.stat-card{padding:clamp(24px,3.5vw,36px) clamp(20px,3vw,32px);background:var(--bg)}.stat-value{margin-bottom:12px;color:var(--accent);font-family:var(--font-heading);font-size:clamp(36px,5cqw,56px);font-weight:700;line-height:.92;letter-spacing:-.04em}.stat-value-animated{display:inline-block;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.45;transform:translateY(4px);transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .9s cubic-bezier(.25,.46,.45,.94)}.stat-value-animated.is-active{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.stat-value-animated{opacity:1;transform:none;transition:none}}.stat-label{color:var(--ink-soft);font-size:clamp(15px,1.5vw,18px);font-weight:400;line-height:1.38;letter-spacing:-.012em}@media (max-width:720px){.stat-grid{grid-template-columns:1fr}.stat-value{font-size:clamp(40px,13vw,56px)}}.principle-section{margin-top:24px}.principle-section .solution-lead{margin-top:0}.principle-grid{display:grid;grid-template-columns:1fr;grid-gap:1px;gap:1px;width:100%;margin:12px 0 0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--line)}.principle-card{padding:0 32px 16px;background:var(--bg)}.principle-card-title{margin:0 0 4px;color:var(--ink);font-family:var(--font-stack);font-size:clamp(20px,1.9vw,24px);font-weight:500;line-height:1.24;letter-spacing:-.022em}.principle-card-body{margin:0;color:var(--ink-soft);font-size:18px;line-height:1.5}.page-section{margin-top:88px}.section-placeholder-image{aspect-ratio:16/10;background:#f3f1ec}a.page-name{color:var(--muted);transition:color .12s ease}a.page-name:hover{color:var(--ink)}.home{width:min(100%,1320px);margin:0 auto;padding:72px 56px 96px}.home-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:64px}.home-mark{margin:0;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.04em}.home-nav{display:flex;gap:22px}.home-nav a{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.04em;transition:color .12s ease}.home-nav a:hover{color:var(--ink)}.home-hero{position:relative;max-width:880px;margin:32px 0 120px;min-height:330px}.home-hero-copy{position:relative;z-index:1;cursor:default;animation:home-hero-in .52s cubic-bezier(.2,.8,.1,1) both}.home-ascii-aurora{z-index:2;top:-104px;left:calc(-1 * (var(--site-nav-width) + 56px));width:100vw;min-height:240px;overflow:hidden;color:rgb(161,203,18);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:700;line-height:.95;letter-spacing:0;mix-blend-mode:multiply;opacity:.64;pointer-events:auto;transform:translate3d(0,var(--ascii-parallax-y,0),0);-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);animation:ascii-aurora-reveal .9s cubic-bezier(.2,.8,.1,1) .18s forwards}.home-ascii-aurora,.home-ascii-frame{position:absolute;margin:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.home-ascii-frame{inset:0;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;white-space:pre;transition:opacity .12s linear,filter .12s linear}.home-ascii-frame-front{opacity:1}.home-ascii-frame-back{opacity:0;filter:blur(1px)}.home-ascii-aurora.is-showing-back .home-ascii-frame-back,.home-ascii-aurora.is-showing-front .home-ascii-frame-front{opacity:1;filter:blur(0)}.home-ascii-aurora.is-showing-back .home-ascii-frame-front,.home-ascii-aurora.is-showing-front .home-ascii-frame-back{opacity:0;filter:blur(1px)}.home-kicker{margin:0 0 28px;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.home .page-title{margin:0 0 40px;font-size:clamp(44px,6vw,76px);font-weight:700;line-height:.96;letter-spacing:-.035em;max-width:none;width:auto;justify-self:start;cursor:default}.home-title-break{display:none}.home-intro{max-width:var(--page-main-col);color:var(--ink-soft);font-size:16px;line-height:1.55;cursor:default}.home-intro p{margin:0 0 14px;cursor:default}.home-intro a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--muted-2);text-decoration-color:var(--muted-2);text-underline-offset:3px;transition:background .12s ease,border-color .12s ease,color .12s ease,-webkit-text-decoration-color .12s ease;transition:background .12s ease,border-color .12s ease,color .12s ease,text-decoration-color .12s ease;transition:background .12s ease,border-color .12s ease,color .12s ease,text-decoration-color .12s ease,-webkit-text-decoration-color .12s ease}.home-intro a:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.home-link-logo,.home-samsara-owl-crop{display:none}.home-intro .home-link-logo{display:inline-block;width:1em;height:1em;margin-right:4px;border-radius:4px;object-fit:contain;vertical-align:-.12em;text-decoration:none}.home-intro .home-link-logo.is-wide{width:34px;border-radius:0}.home-intro .home-link-logo.is-ucsd{transform:scale(1.12)}.home-intro .home-link-logo.is-round{border-radius:50%;object-fit:cover}.home-intro .home-link-logo.is-boundless{object-fit:cover;object-position:72% center;transform:scale(1.18);transform-origin:left center;margin-left:-3px}.home-intro .home-samsara-owl-crop{display:inline-block;width:1em;height:1em;margin-right:4px;border-radius:4px;vertical-align:-.12em;text-decoration:none;background-color:transparent;background-image:url("https://upload.wikimedia.org/wikipedia/en/7/7e/Samsara_(company)_Logo.svg");background-repeat:no-repeat;background-position:0;background-size:430% 100%}html[data-link-style=highlight] .home-foot-link,html[data-link-style=highlight] .home-intro a,html[data-link-style=highlight] .page-body a:not(.card-link),html[data-link-style=highlight] .page-lead a,html[data-link-style=highlight] .page-lead-group a,html[data-link-style=highlight] .page-title a{margin:0 -2px;padding:0 2px;background:linear-gradient(transparent 54%,rgba(161,203,18,.28) 0);text-decoration:none}html[data-link-style=highlight] .home-foot-link:hover,html[data-link-style=highlight] .home-intro a:hover,html[data-link-style=highlight] .page-body a:not(.card-link):hover,html[data-link-style=highlight] .page-lead a:hover,html[data-link-style=highlight] .page-lead-group a:hover,html[data-link-style=highlight] .page-title a:hover{background:linear-gradient(transparent 44%,rgba(161,203,18,.42) 0)}html[data-link-style=bracket] .home-foot-link,html[data-link-style=bracket] .home-intro a,html[data-link-style=bracket] .page-body a:not(.card-link),html[data-link-style=bracket] .page-lead a,html[data-link-style=bracket] .page-lead-group a,html[data-link-style=bracket] .page-title a{text-decoration:none}html[data-link-style=bracket] .home-foot-link:before,html[data-link-style=bracket] .home-intro a:before,html[data-link-style=bracket] .page-body a:not(.card-link):before,html[data-link-style=bracket] .page-lead a:before,html[data-link-style=bracket] .page-lead-group a:before,html[data-link-style=bracket] .page-title a:before{content:"[";color:var(--muted-2)}html[data-link-style=bracket] .home-foot-link:after,html[data-link-style=bracket] .home-intro a:after,html[data-link-style=bracket] .page-body a:not(.card-link):after,html[data-link-style=bracket] .page-lead a:after,html[data-link-style=bracket] .page-lead-group a:after,html[data-link-style=bracket] .page-title a:after{content:"]";color:var(--muted-2)}html[data-link-style=bracket] .home-foot-link:hover:after,html[data-link-style=bracket] .home-foot-link:hover:before,html[data-link-style=bracket] .home-intro a:hover:after,html[data-link-style=bracket] .home-intro a:hover:before,html[data-link-style=bracket] .page-body a:not(.card-link):hover:after,html[data-link-style=bracket] .page-body a:not(.card-link):hover:before,html[data-link-style=bracket] .page-lead a:hover:after,html[data-link-style=bracket] .page-lead a:hover:before,html[data-link-style=bracket] .page-lead-group a:hover:after,html[data-link-style=bracket] .page-lead-group a:hover:before,html[data-link-style=bracket] .page-title a:hover:after,html[data-link-style=bracket] .page-title a:hover:before{color:var(--accent)}html[data-link-style=pill] .home-foot-link,html[data-link-style=pill] .home-intro a,html[data-link-style=pill] .page-body a:not(.card-link),html[data-link-style=pill] .page-lead a,html[data-link-style=pill] .page-lead-group a,html[data-link-style=pill] .page-title a{display:inline;padding:0;border:none;background:transparent;font-size:inherit;line-height:inherit;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--muted-2);text-decoration-color:var(--muted-2);text-underline-offset:3px;white-space:nowrap;vertical-align:baseline}html[data-link-style=pill] .home-intro a:has(.home-link-logo,.home-samsara-owl-crop){padding-left:4px}html[data-link-style=pill] .home-intro a.home-intro-link-boundless{padding-left:0}html[data-link-style=pill] .home-intro a .home-link-logo,html[data-link-style=pill] .home-intro a .home-samsara-owl-crop{text-decoration:none}html[data-link-style=pill] .home-foot-link:hover,html[data-link-style=pill] .home-intro a:hover,html[data-link-style=pill] .page-body a:not(.card-link):hover,html[data-link-style=pill] .page-lead a:hover,html[data-link-style=pill] .page-lead-group a:hover,html[data-link-style=pill] .page-title a:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}html[data-link-style=arrow] .home-foot-link,html[data-link-style=arrow] .home-intro a,html[data-link-style=arrow] .page-body a:not(.card-link),html[data-link-style=arrow] .page-lead a,html[data-link-style=arrow] .page-lead-group a,html[data-link-style=arrow] .page-title a{text-decoration:none}html[data-link-style=arrow] .home-foot-link:after,html[data-link-style=arrow] .home-intro a:after,html[data-link-style=arrow] .page-body a:not(.card-link):after,html[data-link-style=arrow] .page-lead a:after,html[data-link-style=arrow] .page-lead-group a:after,html[data-link-style=arrow] .page-title a:after{content:" ↗";color:var(--muted-2);font-size:.85em}html[data-link-style=arrow] .home-foot-link:hover:after,html[data-link-style=arrow] .home-intro a:hover:after,html[data-link-style=arrow] .page-body a:not(.card-link):hover:after,html[data-link-style=arrow] .page-lead a:hover:after,html[data-link-style=arrow] .page-lead-group a:hover:after,html[data-link-style=arrow] .page-title a:hover:after{color:var(--accent)}.home-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.home-copy-action{position:relative;display:inline-flex;width:-moz-fit-content;width:fit-content;max-width:100%;align-self:flex-start}a.home-action-button,button.home-action-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);font-family:var(--font-stack);font-size:14px;font-weight:500;line-height:1.55;letter-spacing:-.01em;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.06);transition:border-color .12s ease,transform .12s ease}button.home-action-button{font:500 14px/1.55 var(--font-stack);letter-spacing:-.01em}.home-action-button:hover{border-color:var(--accent);color:var(--accent)}.home-action-button:active{transform:scale(.98)}.home-copy-toast{bottom:calc(100% + 10px);z-index:5;padding:7px 10px;border:1px solid rgba(0,0,0,.82);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:white;font-size:12px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;box-shadow:0 10px 26px rgba(0,0,0,.16);opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .16s ease,transform .16s ease}.home-copy-toast,.home-copy-toast:after{position:absolute;left:50%;background:rgba(0,0,0,.92)}.home-copy-toast:after{content:"";top:100%;width:8px;height:8px;transform:translate(-50%,-4px) rotate(45deg)}.home-copy-toast.is-visible{opacity:1;transform:translate(-50%)}.home-action-label{display:inline-block;transform:translateY(2px)}.home-action-icon{display:inline-flex;width:14px;height:14px}.home-action-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.home-work{animation:home-work-in .76s cubic-bezier(.2,.8,.1,1) .54s both}.home-resources,.home-work{border-top:1px solid var(--line);padding-top:48px}.home-resources{margin-top:120px}.home-about{margin-top:56px}.home-about-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:48px;gap:48px;align-items:center;width:100%;margin-inline:auto;padding:40px 48px;border-radius:18px;background:#f3f1ec}.home-about-copy{display:flex;flex-direction:column;gap:12px;max-width:548px}.home-about-copy .home-work-title{margin:0}.home-about-body .home-intro{max-width:none}.home-about-body .home-intro p{margin:0 0 14px}.home-about-body .home-intro p:last-child{margin-bottom:0}.home-about-photo{flex-shrink:0}.home-about-photo-frame{position:relative;width:300px;max-width:100%;aspect-ratio:300/500;border-radius:20px;overflow:hidden;transform:rotate(2deg);transition:transform .2s ease}.home-about-photo:hover .home-about-photo-frame{transform:rotate(0deg)}.home-about-photo-img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:none}.home-about-photo-img.is-active{opacity:1}@media (max-width:820px){.home-about-body{grid-template-columns:1fr;gap:32px;padding:32px 28px}.home-about-photo{justify-self:center}.home-about-photo-frame{width:220px}}.home-work-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:40px}.home-work-title{margin:0;color:var(--ink);font-size:clamp(22px,2vw,26px);font-weight:500;letter-spacing:-.02em}.home-work-meta{margin:0;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.card-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column-gap:32px;column-gap:32px;grid-row-gap:64px;row-gap:64px}.card-item{margin:0}.home-work .card-item{animation:home-card-in .72s cubic-bezier(.2,.8,.1,1) both}.home-work .card-item:first-child{animation-delay:1.54s}.home-work .card-item:nth-child(2){animation-delay:1.64s}.home-work .card-item:nth-child(3){animation-delay:1.74s}.home-work .card-item:nth-child(4){animation-delay:1.84s}.card-link{position:relative;display:block;color:var(--ink);cursor:pointer}.card-link.is-disabled{cursor:default}.card-thumb{position:relative;height:0;padding-bottom:calc(62.5% - 16px);overflow:hidden;border-radius:18px;background:#f3f1ec;transition:transform .32s cubic-bezier(.2,.7,.1,1),box-shadow .32s ease,background .32s ease,filter .32s ease}.card-thumb>.thumb-img,.card-thumb>.thumb-svg,.card-thumb>.vimeo-thumb,.card-thumb>img{position:absolute;inset:0;width:100%;height:100%}.card-link.is-disabled:hover .card-thumb{transform:none;box-shadow:none}.thumb-img,.thumb-svg{display:block;width:100%;height:100%;transition:transform .36s cubic-bezier(.2,.7,.1,1),opacity .32s ease}.card-thumb.has-image .thumb-img{object-fit:cover;object-position:center}.card-thumb iframe{display:block;width:100%;height:100%;border:0;pointer-events:none}.vimeo-thumb{position:absolute;inset:0}.vimeo-thumb-contain{background:#f3f1ec}.vimeo-thumb-poster{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:1;transition:opacity .56s cubic-bezier(.2,.7,.1,1)}.vimeo-thumb-contain .vimeo-thumb-poster{object-fit:contain}.card-thumb .vimeo-thumb{overflow:hidden}.card-thumb .vimeo-thumb-contain:not(.vimeo-thumb-inset) .vimeo-thumb-poster,.card-thumb .vimeo-thumb-contain:not(.vimeo-thumb-inset) iframe{inset:auto;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%) scale(1.15);transform-origin:center center;object-fit:contain}.vimeo-thumb-inset>.vimeo-thumb-poster{position:absolute;inset:0;top:0;left:0;width:100%;height:100%;object-fit:cover;transform:none}.vimeo-thumb-inset .vimeo-thumb-fit{position:absolute;overflow:hidden;top:clamp(14px,4%,22px);right:clamp(10px,2.5%,14px);bottom:clamp(14px,4%,22px);left:clamp(10px,2.5%,14px)}.vimeo-thumb-inset .vimeo-thumb-fit .vimeo-thumb-poster,.vimeo-thumb-inset .vimeo-thumb-fit iframe{position:absolute;inset:0;width:100%;height:100%;transform:none}.vimeo-thumb-inset .vimeo-thumb-fit .vimeo-thumb-poster{object-fit:contain}.card-thumb.case-hero-transition-merchant-picking .vimeo-thumb-inset .vimeo-thumb-fit{top:clamp(8px,2.5%,14px);right:clamp(8px,2%,12px);bottom:clamp(8px,2.5%,14px);left:clamp(8px,2%,12px)}.vimeo-thumb.is-playing .vimeo-thumb-poster{opacity:0;pointer-events:none}.vimeo-thumb iframe{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;border:0;opacity:1;pointer-events:none}.vimeo-thumb:not(.vimeo-thumb-inset) .vimeo-thumb-poster,.vimeo-thumb:not(.vimeo-thumb-inset) iframe{inset:auto;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%) scale(1.2);transform-origin:center center;object-fit:cover}@media (prefers-reduced-motion:reduce){.vimeo-thumb-poster{transition:none}.vimeo-thumb.is-playing .vimeo-thumb-poster{opacity:0}}.resource-thumb:before{inset:24px;background:rgba(255,255,255,.56)}.resource-thumb:after,.resource-thumb:before{content:"";position:absolute;border-radius:12px}.resource-thumb:after{left:24px;right:24px;bottom:24px;height:42%;background:rgba(255,255,255,.42)}.resource-thumb.has-image:after,.resource-thumb.has-image:before,.resource-thumb.has-video:after,.resource-thumb.has-video:before{content:none}.resource-thumb img{display:block;width:100%;height:100%;object-fit:cover}.card-soon{position:absolute;top:14px;left:14px;padding:4px 8px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.card-foot{padding:18px 2px 0;transition:transform .26s cubic-bezier(.2,.7,.1,1)}.card-meta{margin:0 0 10px}.card-title{margin:0 0 8px;font-size:22px;font-weight:500;line-height:1.18;letter-spacing:-.02em;transition:color .2s ease}.card-blurb{margin:0;max-width:460px;color:var(--ink-soft);font-size:15px;line-height:1.55;transition:color .2s ease,opacity .22s ease,transform .22s ease}.home-resources .card-link:hover .card-title,.home-work .card-link:not(.is-disabled):hover .card-title{color:var(--accent)}.home-resources .card-link:hover .card-thumb:not(.has-video),.home-work .card-link:not(.is-disabled):hover .card-thumb:not(.has-video){filter:brightness(.97)}.home-resources .card-link:hover .resource-thumb:after,.home-resources .card-link:hover .resource-thumb:before,.home-work .card-link:not(.is-disabled):hover .thumb-img,.home-work .card-link:not(.is-disabled):hover .thumb-svg{opacity:.72}.card-link:hover .card-thumb.has-video{filter:none}.home-foot{margin-top:48px;padding-top:0;display:flex;align-items:baseline;justify-content:space-between;gap:24px}.home-foot-line{margin:0;font-size:16px;letter-spacing:-.01em}.home-foot-meta{margin:0;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.04em}@media (max-width:900px){.site-nav{position:-webkit-sticky;position:sticky;top:0;left:0;display:flex;align-items:center;justify-content:space-between;width:auto;padding:18px 28px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.site-nav-brand{margin:0}.site-nav-list{display:flex;align-items:flex-start;gap:14px}.page-transition-frame{padding-left:0}.home{padding:24px 28px 80px}.home-top{padding-bottom:40px}.home-hero{margin:16px 0 80px;min-height:330px}.home-ascii-aurora{top:-40px;left:-28px;width:100vw;min-height:220px;font-size:7.2px;opacity:.54}.card-grid{grid-template-columns:1fr;row-gap:48px}.home-foot{flex-direction:column;gap:12px;align-items:flex-start;margin-top:32px}}@media (max-width:520px){.home{padding:20px 20px 64px}.home-nav{gap:14px}.home-hero{min-height:300px}.home-title-break{display:block}.home-ascii-aurora{top:-36px;left:-20px;min-height:190px;font-size:4.9px;line-height:.9;opacity:.46}}.page .page-title{font-weight:700;line-height:1.06}.page .page-title .wipe-line{line-height:1.06;margin-bottom:0;padding-bottom:.14em}.page-section h2{margin:0 0 24px}.page-section h3{margin:32px 0 8px;color:var(--ink);font-family:var(--font-stack);font-size:16px;font-weight:500;letter-spacing:-.015em}.project{padding:24px 0;border-top:1px solid var(--line)}.project:last-child{border-bottom:1px solid var(--line)}.project-type{margin:0 0 6px;color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.project h3{margin:0 0 10px;font-size:22px;font-weight:500;letter-spacing:-.02em}.project p{margin:0}.principle-list{margin:0;padding:0;list-style:none}.principle-list li{padding:16px 0;border-top:1px solid var(--line);color:var(--ink-soft);font-size:14px;line-height:1.55}.principle-list li:last-child{border-bottom:1px solid var(--line)}.writing-list{margin:0;padding:0;list-style:none}.writing-list li{border-top:1px solid var(--line)}.writing-list li:last-child{border-bottom:1px solid var(--line)}.writing-list a{display:flex;justify-content:space-between;gap:16px;padding:16px 0;color:var(--ink-soft);font-size:14px}.writing-list a:hover{color:var(--ink)}.writing-date{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.04em}.contact-link{color:var(--accent);font-size:16px;letter-spacing:-.02em}.contact-link:hover{color:var(--ink)}@media (max-width:960px){.page{row-gap:18px;padding:24px 28px 96px}.case-video-controls{display:none}.case-hero-placeholder{margin-top:0}.page-date,.page-name{top:24px}.page-name{left:28px}.page-date{right:28px}.page-title{margin-top:0}.page-lead,.page-lead-group{margin-top:32px}.page-body{margin-top:16px}.page-body .case-app{width:100%;max-width:100%;margin-left:0}.case-app-frame{min-height:clamp(320px,48vw,440px)}.case-section-eyebrow:after,.case-section-eyebrow:before{display:none}}@media (max-width:520px){.page{padding:20px 20px 80px}.page-date,.page-name{top:20px}.page-name{left:20px}.page-date{right:20px}.case-app-frame{aspect-ratio:4/5;min-height:0;max-height:min(520px,80vh)}}.photo-page{width:min(100%,1200px);margin:0 auto;padding:72px 56px 96px;padding-left:calc(var(--site-nav-width) + 56px);box-sizing:border-box}.photo-masonry{display:flex;align-items:flex-start;gap:24px;width:100%;transition:opacity .3s cubic-bezier(.4,0,.2,1)}body.lightbox-active .photo-masonry{opacity:.15}.photo-masonry-col{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:24px}.photo-item{display:block;width:100%;margin:0;padding:0;overflow:hidden;border:0;background:none;cursor:pointer}.photo-item img{display:block;width:100%;height:auto;transition:transform .4s cubic-bezier(.4,0,.2,1)}.photo-item:hover img{transform:scale(1.02)}.photo-lightbox{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .15s cubic-bezier(.4,0,.2,1)}.photo-lightbox.is-active{opacity:1;pointer-events:auto}.photo-lightbox-backdrop{position:absolute;inset:0;background:rgba(255,255,255,.92);cursor:pointer}.photo-lightbox-content{position:relative;z-index:1;max-width:min(92vw,1200px);max-height:92vh}.photo-lightbox-image{display:block;max-width:100%;max-height:92vh;width:auto;height:auto;margin:0 auto}@media (min-width:640px){.photo-masonry,.photo-masonry-col{gap:32px}}@media (min-width:900px){.photo-masonry,.photo-masonry-col{gap:40px}}@media (max-width:900px){.photo-page{padding:24px 28px 80px}}.cs-gate{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.cs-gate-backdrop{position:absolute;inset:0;border:0;margin:0;padding:0;cursor:pointer;background:rgba(248,247,244,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:cs-gate-fade .26s ease both}.cs-gate-card{position:relative;width:100%;max-width:400px;padding:32px 30px 28px;border:1px solid var(--line);border-radius:20px;background:var(--bg);box-shadow:0 24px 60px rgba(0,0,0,.14),0 4px 12px rgba(0,0,0,.05);text-align:center;animation:cs-gate-pop .32s cubic-bezier(.2,.7,.1,1) both}.cs-gate-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:16px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:rgba(0,0,0,.02)}.cs-gate-title{margin:0 0 8px;font-family:var(--font-heading);font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.cs-gate-desc{margin:0 auto 22px;max-width:320px;font-family:var(--font-stack);font-size:14px;line-height:1.55;letter-spacing:-.01em;color:var(--ink-soft)}.cs-gate-form{display:flex;flex-direction:column;gap:12px}.cs-gate-input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font-family:var(--font-stack);font-size:15px;letter-spacing:-.01em;text-align:center;transition:border-color .12s ease,box-shadow .12s ease}.cs-gate-input::placeholder{color:var(--muted-2)}.cs-gate-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(11,107,0,.12)}.cs-gate-input.has-error{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.12);animation:cs-gate-shake .34s ease}.cs-gate-error{margin:-2px 0 0;font-family:var(--font-stack);font-size:13px;letter-spacing:-.01em;color:#c0392b}.cs-gate-actions{display:flex;gap:10px;margin-top:4px}.cs-gate-btn{flex:1 1;padding:11px 16px;border-radius:999px;font-family:var(--font-stack);font-size:14px;font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:border-color .12s ease,color .12s ease,background-color .12s ease,transform .12s ease}.cs-gate-btn:active{transform:scale(.98)}.cs-gate-btn-ghost{border:1px solid var(--line);background:var(--bg);color:var(--ink)}.cs-gate-btn-ghost:hover{border-color:var(--muted);color:var(--ink)}.cs-gate-btn-primary{border:1px solid var(--ink);background:var(--ink);color:#fff}.cs-gate-btn-primary:hover{border-color:#000;background:#000}@keyframes cs-gate-fade{0%{opacity:0}to{opacity:1}}@keyframes cs-gate-pop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cs-gate-shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}@media (prefers-reduced-motion:reduce){.cs-gate-backdrop,.cs-gate-card,.cs-gate-input.has-error{animation:none}}