*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}input::placeholder{color:var(--muted);opacity:1}::selection{background:#d23b2c45}::selection{background:#d23b2c45}[data-mode=dark] ::selection{background:#ff645045}[data-mode=dark] ::selection{background:#ff645045}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes heroRecede{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}@keyframes caseOpen{0%{opacity:0;transform:scale(.955)}to{opacity:1;transform:none}}@keyframes headerBugArrive{0%{opacity:0;transform:translate(-52px,-46px)rotate(-22deg)scale(1.85)}55%{opacity:1}to{opacity:1;transform:translateY(-2px)rotate(0)scale(1)}}@keyframes navIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes navOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}@keyframes pageLeave{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-11px)}}@keyframes pageEnter{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,80%,to{opacity:.28;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes wave{0%,55%,to{transform:rotate(0)}10%{transform:rotate(15deg)}20%{transform:rotate(-9deg)}30%{transform:rotate(15deg)}40%{transform:rotate(-5deg)}50%{transform:rotate(11deg)}}@keyframes dSteam{0%{opacity:0;transform:translateY(3px)scaleY(.7)}20%{opacity:.95}to{opacity:0;transform:translateY(-8px)scaleY(1.2)}}@keyframes dWobble{0%,to{transform:rotate(0)}15%{transform:rotate(-6deg)}38%{transform:rotate(5deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(2deg)}}@keyframes dWaddle{0%,to{transform:translateY(0)rotate(0)}20%{transform:translateY(-1px)rotate(-6deg)}45%{transform:translateY(0)rotate(5deg)}70%{transform:translateY(-1px)rotate(-4deg)}}@keyframes dBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)translateY(-.5px)}}@keyframes dSnooze{0%{opacity:0;transform:translate(0)scale(.5)rotate(-8deg)}20%{opacity:.85}to{opacity:0;transform:translate(7px,-16px)scale(1.1)rotate(8deg)}}@keyframes dUnwind{to{transform:rotate(-300deg)}}@keyframes dThread{to{stroke-dashoffset:0}}@keyframes dBrushDip{0%,to{transform:translate(0)rotate(0)}40%{transform:translate(-1.5px,-2.6px)rotate(2deg)}58%{transform:translate(-1.5px,-2.6px)rotate(2deg)}}@keyframes dGlisten{0%,to{opacity:1}50%{opacity:.3}}@keyframes dRun{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-3px)rotate(3deg)}50%{transform:translateY(0)rotate(0)}75%{transform:translateY(-3px)rotate(3deg)}}@keyframes dTap{0%,to{transform:rotate(-15deg)}45%{transform:rotate(5deg)}62%{transform:rotate(1deg)}}@keyframes dJolt{0%,40%,to{transform:translateY(0)}52%{transform:translateY(1.4px)}}@keyframes dLid{0%,to{transform:translateY(0)rotate(0)}30%{transform:translateY(-2.5px)rotate(-3deg)}60%{transform:translateY(-1px)rotate(2deg)}}[data-doodle=coffee]:hover [data-anim=steam]{animation:1.3s ease-out infinite dSteam}[data-doodle=pottery]:hover [data-anim=wobble]{animation:1.4s ease-in-out infinite dWobble}[data-doodle=dog]:hover [data-anim=breathe]{animation:2.4s ease-in-out infinite dBreathe}[data-doodle=dog]:hover [data-anim=z1]{animation:1.8s ease-out infinite dSnooze}[data-doodle=dog]:hover [data-anim=z2]{animation:1.8s ease-out .6s infinite dSnooze}[data-doodle=dog]:hover [data-anim=z3]{animation:1.8s ease-out 1.2s infinite dSnooze}[data-doodle=knit]:hover [data-anim=thread]{animation:1.4s ease-out forwards dThread}[data-doodle=paint]:hover [data-anim=brush]{animation:1.3s ease-in-out infinite dBrushDip}[data-doodle=paint]:hover [data-anim=blobs]{animation:1.1s ease-in-out infinite dGlisten}[data-doodle=jog]:hover [data-anim=run]{animation:.5s ease-in-out infinite dRun}[data-doodle=house]:hover [data-anim=tap]{animation:.55s ease-in-out infinite dTap}[data-doodle=house]:hover [data-anim=jolt]{animation:.55s ease-in-out infinite dJolt}[data-doodle=cook]:hover [data-anim=steam]{animation:1.2s ease-out infinite dSteam}[data-doodle=cook]:hover [data-anim=lid]{animation:.6s ease-in-out infinite dLid}@keyframes lbHop{0%{transform:translate(0)rotate(0)scale(1)}9%{transform:translateY(2px)rotate(0)scale(1.05)}22%{transform:translate(1px,-9px)rotate(-5deg)scale(1.1)}38%{transform:translate(2px,-22px)rotate(4deg)scale(1.04)}52%{transform:translate(1px,-28px)rotate(-3deg)scale(1)}68%{transform:translateY(-18px)rotate(2deg)scale(1)}84%{transform:translateY(-5px)rotate(-1deg)scale(1)}to{transform:translate(0)rotate(0)scale(1)}}@keyframes lbWalkV{0%,8%{transform:translateY(0)rotate(180deg)}46%{transform:translateY(150px)rotate(180deg)}54%{transform:translateY(150px)rotate(0)}92%{transform:translateY(0)rotate(0)}to{transform:translateY(0)rotate(180deg)}}@keyframes lbWalk{0%,8%{transform:translate(0)rotate(-90deg)}46%{transform:translate(-94px)rotate(-90deg)}54%{transform:translate(-94px)rotate(90deg)}92%{transform:translate(0)rotate(90deg)}to{transform:translate(0)rotate(-90deg)}}@keyframes arrFly{0%{opacity:1;transform:translate(0)}26%{opacity:0;transform:translate(13px)}27%{opacity:0;transform:translate(-11px)}52%{opacity:1;transform:translate(0)}to{opacity:1;transform:translate(0)}}[data-arrowopt=fly]:not([data-workcard-active]):hover [data-hov=arrow]{animation:2s ease-in-out infinite arrFly}@keyframes extLift{0%,12%{transform:translate(0)}34%{transform:translate(2.5px,-3px)}60%,to{transform:translate(0)}}[data-arrowopt=fly]:hover [data-hov=extlink]{animation:1.5s ease-in-out infinite extLift}@keyframes spin360{to{transform:rotate(360deg)}}[data-restart]:hover [data-spin]{animation:.6s spin360}a[data-workcard]:hover:not([data-workcard-active]){border:1px solid var(--accent)!important;background:color-mix(in srgb, var(--ink) 7%, var(--surface))!important}a[data-workcard]:hover:not([data-workcard-active]) [data-cardmedia]{background-color:color-mix(in srgb, var(--ink) 7%, var(--cardMedia))!important}[data-mode=dark] a[data-workcard]:hover:not([data-workcard-active]){background:color-mix(in srgb, var(--bg) 60%, var(--surface))!important}[data-mode=dark] a[data-workcard]:hover:not([data-workcard-active]) [data-cardmedia]{background-color:color-mix(in srgb, var(--bg) 60%, var(--cardMedia))!important}a[data-workcard][data-workcard-active]{background:color-mix(in srgb, var(--ink) 7%, var(--surface))!important}a[data-workcard][data-workcard-active] [data-cardmedia]{background-color:color-mix(in srgb, var(--ink) 7%, var(--cardMedia))!important}[data-mode=dark] a[data-workcard][data-workcard-active]{background:var(--bg)!important}[data-mode=dark] a[data-workcard][data-workcard-active] [data-cardmedia]{background-color:var(--bg)!important}@keyframes csFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes csArrFly{0%{opacity:1;transform:translate(0)}26%{opacity:0;transform:translate(13px)}27%{opacity:0;transform:translate(-11px)}52%{opacity:1;transform:translate(0)}to{opacity:1;transform:translate(0)}}[data-nextcard]:hover [data-hov=arrow]{animation:2s ease-in-out infinite csArrFly}[data-nextcard]{transition:border-color .18s,background .18s}[data-nextcard]:hover{border-color:var(--accent)!important;background:color-mix(in srgb, var(--ink) 7%, var(--surface))!important}[data-mode=dark] [data-nextcard]:hover{background:color-mix(in srgb, var(--bg) 60%, var(--surface))!important}[data-lbtog] [data-rot]{transform-origin:50%;transition:transform .38s cubic-bezier(.34,1.56,.64,1);display:inline-flex}[data-lbtog]:hover [data-rot=moon]{transform:rotate(-30deg)}[data-lbtog]:hover [data-rot=sun]{transform:rotate(48deg)}@keyframes mtBob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.6px)}}@keyframes mtFlapL{0%,to{transform:scaleX(1)}50%{transform:scaleX(.62)}}@keyframes mtFlapR{0%,to{transform:scaleX(1)}50%{transform:scaleX(.62)}}[data-motiontog] [data-mt=wgL]{transform-box:view-box;transform-origin:19.3px 13.4px}[data-motiontog] [data-mt=wgR]{transform-box:view-box;transform-origin:20.7px 13.4px}[data-motiontog]:hover [data-mt=bug]{animation:1.1s ease-in-out infinite mtBob}[data-motiontog]:hover [data-mt=wgL]{animation:.3s ease-in-out infinite mtFlapL}[data-motiontog]:hover [data-mt=wgR]{animation:.3s ease-in-out 50ms infinite mtFlapR}@keyframes legStep{0%{transform:rotate(calc(var(--d) * var(--amp)))}55%{transform:rotate(calc(var(--d) * -1 * var(--amp)))}78%{transform:rotate(calc(var(--d) * -.18 * var(--amp))) scale(.93)}to{transform:rotate(calc(var(--d) * var(--amp)))}}@keyframes legBend{0%,52%,to{transform:rotate(0)}68%{transform:rotate(calc(var(--bd) * 24deg))}80%{transform:rotate(calc(var(--bd) * 9deg))}}@keyframes bugBob{0%,50%,to{transform:translateY(0)}25%,75%{transform:translateY(var(--bob))}}@keyframes antSwayL{0%,to{transform:rotate(0)}50%{transform:rotate(7deg)}}@keyframes antSwayR{0%,to{transform:rotate(0)}50%{transform:rotate(-7deg)}}@keyframes trailFlow{to{stroke-dashoffset:-26px}}@keyframes boardSwayA{0%,to{transform:rotate(-1.6deg)}50%{transform:rotate(2.2deg)}}@keyframes boardSwayB{0%,to{transform:rotate(1.6deg)}50%{transform:rotate(-2.2deg)}}@keyframes lbcBob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-2px)rotate(-1.5deg)}}@keyframes lbcOpenL{0%{transform:rotate(0)}16%{transform:rotate(46deg)}38%{transform:rotate(26deg)}60%{transform:rotate(46deg)}82%{transform:rotate(18deg)}to{transform:rotate(0)}}@keyframes lbcOpenR{0%{transform:rotate(0)}16%{transform:rotate(-46deg)}38%{transform:rotate(-26deg)}60%{transform:rotate(-46deg)}82%{transform:rotate(-18deg)}to{transform:rotate(0)}}@keyframes lbcFlap{0%,to{transform:scaleX(1)}50%{transform:scaleX(.42)}}@keyframes lbcWig{0%,to{transform:rotate(-7deg)}45%{transform:rotate(5deg)}75%{transform:rotate(-11deg)}}.lbc-bob{transform-box:view-box;transform-origin:10.4px 20px;animation:1.2s ease-in-out infinite lbcBob}.lbc-openL{transform-box:view-box;transform-origin:10.4px 12px;animation:2.6s ease-in-out infinite lbcOpenL}.lbc-openR{transform-box:view-box;transform-origin:10.4px 12px;animation:2.6s ease-in-out infinite lbcOpenR}.lbc-abdomen{fill:var(--lb-ink,#121319)}.lbc-wing{fill:var(--lb-wing,#fff9);stroke:#1f1c184d;stroke-width:.3px;transform-box:view-box;transform-origin:10.4px 14px}.lbc-wingL{animation:.22s ease-in-out infinite lbcFlap;transform:rotate(-14deg)}.lbc-wingR{animation:.22s ease-in-out .11s infinite lbcFlap;transform:rotate(14deg)}.lbc-wig{transform-box:view-box;transform-origin:10.4px 20px;animation:1.6s ease-in-out infinite lbcWig}@keyframes lb-z{0%{opacity:0;transform:translate(0)scale(.5)rotate(-8deg)}22%{opacity:.85}to{opacity:0;transform:translate(12px,-22px)scale(1.1)rotate(8deg)}}@keyframes lbc-z{0%{opacity:0;transform:translate(0)scale(.5)rotate(-8deg)}22%{opacity:.85}to{opacity:0;transform:translate(2.4px,-4.4px)scale(1.1)rotate(8deg)}}.lb-trail-dot{background:var(--accent);opacity:.5;pointer-events:none;border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;animation:.7s ease-out forwards lbTrailFade;position:absolute}@keyframes lbTrailFade{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(.35)}}@keyframes diceShake{0%{animation-timing-function:ease-out;transform:translate(0)rotate(0)}6%{animation-timing-function:ease-in;transform:translate(1.1px,-1px)rotate(7deg)}12%{animation-timing-function:ease-out;transform:translate(-1.3px,.2px)rotate(-8deg)}20%{animation-timing-function:ease-out;transform:translate(-.6px,-1.4px)rotate(-4deg)}38%{animation-timing-function:ease-in-out;transform:translate(.9px,-4.6px)rotate(9deg)}46%{animation-timing-function:ease-in;transform:translate(1.3px,-4.9px)rotate(13deg)}58%{animation-timing-function:ease-out;transform:translate(.4px,.3px)rotate(19deg)}66%{animation-timing-function:ease-in;transform:translate(-.6px,-2.1px)rotate(15deg)}74%{animation-timing-function:ease-out;transform:translate(-1px,.2px)rotate(11deg)}80%{animation-timing-function:ease-in;transform:translate(-.4px,-.9px)rotate(8deg)}86%{animation-timing-function:ease-out;transform:translate(.3px)rotate(4deg)}94%{transform:translate(0)rotate(1deg)}to{transform:translate(0)rotate(0)}}:root{--page-pad:40px;--cs-bleed:-200px}@media (width>=769px) and (width<=1600px){[data-display]{font-size:clamp(28px,6vw,38px)!important}[data-lead]{font-size:17px!important}}@media (width<=768px){:root{--page-pad:20px;--cs-bleed:-20px}[data-homechips],[data-motiontog]{display:none!important}[data-sitefooter]{padding-top:12px!important;padding-bottom:12px!important}[data-chatcol]{padding-bottom:72px!important}[data-cs-media]{border-radius:0!important}}@media (width<=800px){[data-homechips]{justify-content:flex-start!important}}@media (width<=480px){:root{--page-pad:16px;--cs-bleed:-16px}}@media (width<=1199px){[data-casestudy] [data-display],[data-casestudy] [data-lead]{max-width:none!important}}[data-casestudy]{text-wrap:pretty}@container casestudy (width<=800px){[data-grid=meta]{grid-template-columns:1fr!important}}@container casestudy (width<=640px){[data-grid=reflection]{grid-template-columns:1fr!important}[data-grid=mockups]{grid-template-columns:1fr!important;margin-left:0!important;margin-right:0!important}[data-grid=media2],[data-grid=pair],[data-grid=gallery]{grid-template-columns:1fr!important}[data-grid=metrics]{grid-template-columns:repeat(2,1fr)!important}[data-grid=related]{grid-template-columns:1fr!important}[data-grid=media2]>div,[data-grid=gallery]>div{aspect-ratio:auto!important}[data-grid=media2] img,[data-grid=gallery] img{object-fit:contain!important;height:auto!important}}@container casestudy (width<=520px){[data-grid=metrics]{grid-template-columns:1fr!important}}[data-reveal]{opacity:0;will-change:opacity, transform;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(18px)}[data-reveal].is-revealed{opacity:1;will-change:auto;transform:none}@media (prefers-reduced-motion:reduce){[data-anim=heroLead]{animation-name:fadeOut!important}[data-anim=caseOpen],[data-anim=headerBug]{animation-name:fadeIn!important}[data-trail],[data-board]{animation:none!important}[data-lb-z]{opacity:.7!important;animation:none!important}.lb-trail-dot{display:none!important}.lbc-bob,.lbc-openL,.lbc-openR,.lbc-wingL,.lbc-wingR,.lbc-wig{animation:none!important}[data-lbtog] [data-rot]{transition:none}[data-lbtog]:hover [data-rot]{transform:none}[data-motiontog] [data-motion]{transition:none}[data-motiontog]:hover [data-mt=bug],[data-motiontog]:hover [data-mt=wgL],[data-motiontog]:hover [data-mt=wgR]{animation:none!important}[data-transit-leave]{animation-name:fadeOut!important}[data-transit-enter]{animation-name:fadeIn!important}[data-transit-bug]{display:none!important}[data-reveal]{opacity:1!important;transition:none!important;transform:none!important}[data-doodle]:hover [data-anim],[data-arrowopt=fly]:hover [data-hov=arrow],[data-arrowopt=fly]:hover [data-hov=extlink],[data-restart]:hover [data-spin],[data-nextcard]:hover [data-hov=arrow]{animation:none!important}}
