@import "https://fonts.googleapis.com/css2?family=Commissioner:wght@200&family=Source+Code+Pro:wght@200;300;400&display=swap";@import "https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400&display=swap";*{margin:0;padding:0}:root{scroll-behavior:smooth}html{scrollbar-gutter:stable;scrollbar-width:none;-ms-overflow-style:none;font-size:16px;overflow-x:hidden}html::-webkit-scrollbar{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}img{width:100%;max-width:100%;height:auto}strong,b{font-weight:700}em{font-style:italic}.sr-only{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#skip a{display:block;position:absolute;top:-999px;left:-999px}#skip a:focus{background:#ffc;border:1px solid #900;padding:3px;top:0;left:0}button{-webkit-appearance:none;cursor:pointer;background:0 0;border:1px solid #000}a{text-decoration:none}body{color:#2c2330;background-color:#fdfaf5;overflow-x:hidden}p{font-family:Montserrat,sans-serif;font-size:1em;line-height:1.65}.pager-btns-container{z-index:1;display:flex;position:relative}.pager-btn{aspect-ratio:1;box-sizing:border-box;background-color:#ababab80;border:none;border-radius:50%;width:.35em;height:.35em;padding:0}.pager-btn:nth-of-type(n+2){margin-left:15px}@media screen and (width>=992px){.pager-btn{width:1em;height:1em;padding:.5em}}.pager-btn.active,.pager-btn:hover,.pager-btn:focus{background-color:#85519e}.sidebar{z-index:30;background-color:#fdfaf5;border-bottom:1px solid #2c233026;width:100%;height:3.75em}@media screen and (width>=768px){.sidebar{border-bottom:none;border-right:1px solid #2c233026;width:3.75em;height:98vh;position:fixed;top:0;left:0}}.sidebar-nav{box-sizing:border-box;text-transform:uppercase;flex-direction:row;align-items:center;height:100%;padding:0 1.5em;list-style:none;display:flex}@media screen and (width>=768px){.sidebar-nav{flex-direction:column;padding:3em 0}}.sidebar-nav li{flex:1 1 0;justify-content:center;align-items:center;display:flex}.sidebar-nav li:first-child{justify-content:flex-start}@media screen and (width>=768px){.sidebar-nav li:first-child{justify-content:center;align-items:flex-start}}.sidebar-nav li:last-child{justify-content:flex-end}@media screen and (width>=768px){.sidebar-nav li:last-child{justify-content:center;align-items:flex-end}}.sidebar-nav a{white-space:nowrap;letter-spacing:.15em;color:#2c2330;font-family:Montserrat,sans-serif;font-size:.9em;font-weight:700;text-decoration:none;transition:color .2s ease-in-out;display:inline-block}@media screen and (width>=768px){.sidebar-nav a{transform:rotate(-90deg)}}.sidebar-nav a:hover,.sidebar-nav a:focus-visible,.sidebar-nav a.active{color:#85519e}#skip a{z-index:200;color:#2c2330;background-color:#fdfaf5;padding:.5em 1em;position:absolute;top:0;left:-9999px}#skip a:focus{top:1em;left:1em}main#maincontent{min-height:100vh;position:relative}@media screen and (width>=768px){main#maincontent{margin-left:3.75em}}.view-toggle-btn{color:#2c2330;cursor:pointer;background-color:#0000;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;width:1.5em;height:2.5em;padding:0;transition:color .2s ease-in-out;display:flex}.view-toggle-btn svg{width:1.5em;height:1.5em}.view-toggle-btn[aria-disabled=true]{cursor:default}.view-toggle-btn:not([aria-disabled=true]):hover,.view-toggle-btn:not([aria-disabled=true]):focus-visible{color:#85519e}.side-column{z-index:20;flex-direction:column;align-items:center;gap:1em;display:none;position:fixed;top:50%;right:0;transform:translateY(-50%)}@media screen and (width>=768px){.side-column{display:flex}}.social-links{background-color:#fdfaf5;border-radius:999px 0 0 999px;flex-direction:column;gap:.75em;margin:0;padding:.6em;list-style:none;display:flex}.social-icon{background-color:#2c233099;width:1.1em;height:1.1em;transition:background-color .2s ease-in-out;display:block}.social-icon:hover,.social-icon:focus-visible{background-color:#85519e}.social-icon.instagram{-webkit-mask-image:url(/images/icons/instagram.svg);mask-image:url(/images/icons/instagram.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.social-icon.github{-webkit-mask-image:url(/images/icons/github.svg);mask-image:url(/images/icons/github.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.social-icon.linkedin{-webkit-mask-image:url(/images/icons/linkedin.svg);mask-image:url(/images/icons/linkedin.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.rotated-copyright{writing-mode:vertical-rl;letter-spacing:.05em;color:#2c233099;background-color:#fdfaf5;border-radius:999px 0 0 999px;margin:0;padding:4em .6em;font-family:Source Code Pro,monospace;font-size:.7em;transform:rotate(0);box-shadow:0 0 10px #2c23301a}.brand-marquee{border-top:1px solid #2c233026;flex-direction:column;gap:1em;padding:2em 0 4em;display:flex}@media screen and (width>=992px){.brand-marquee{z-index:10;background-color:#fdfaf5;flex-direction:row;align-items:center;gap:0;padding:1.25em 0 1.5em;position:fixed;bottom:0;left:3.75em;right:0}}.brand-marquee-heading{letter-spacing:.08em;text-transform:uppercase;color:#ababab;white-space:nowrap;padding:0 6vw;font-family:Montserrat,sans-serif;font-size:.75em;font-weight:700}.brand-marquee-viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.brand-marquee-track{width:max-content;animation:40s linear infinite brand-marquee-scroll;display:flex}.brand-marquee-track:hover{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.brand-marquee-track{animation:none}}.brand-marquee-list{flex-shrink:0;align-items:center;gap:4em;margin:0;padding:0 2em;list-style:none;display:flex}.brand-marquee-list li{white-space:nowrap;color:#2c2330;opacity:.6;flex-shrink:0;font-family:Montserrat,sans-serif;font-size:1.25em;font-weight:700;transition:opacity .2s ease-in-out}.brand-marquee-list li:hover,.brand-marquee-list li:focus-within{opacity:1}.brand-marquee-list a{color:inherit;text-decoration:none}.brand-marquee-list a:hover,.brand-marquee-list a:focus-visible{color:#85519e}@keyframes brand-marquee-scroll{to{transform:translate(-50%)}}.work-toolbar{z-index:40;background-color:#fdfaf5;justify-content:space-between;align-items:center;gap:1.5em;padding:2em 1.5em 1.5em;display:flex}@media screen and (width>=768px){.work-toolbar{padding:2em 0;position:fixed;left:5.5em;right:1em}}@media screen and (width>=992px){.work-toolbar{justify-content:flex-end}}.work-filter-tabs{align-items:center;gap:1.5em;margin:0;padding:0;list-style:none;display:flex}.work-filter-tabs button{cursor:pointer;letter-spacing:.05em;text-transform:uppercase;color:#ababab;background:0 0;border:none;padding:0;font-family:Montserrat,sans-serif;font-size:.85em;font-weight:700;transition:color .2s ease-in-out}.work-filter-tabs button:hover,.work-filter-tabs button:focus-visible{color:#2c2330}.work-filter-tabs button.active{color:#85519e}.work-grid{grid-template-columns:repeat(2,1fr);gap:2.5em 1em;margin:0;padding:1.5em 5vw 4em;list-style:none;display:grid}@media screen and (width>=768px){.work-grid{padding-top:7em}}@media screen and (width>=1024px){.work-grid{scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch;align-items:center;gap:3em;height:100vh;padding:0 5vw;display:flex;overflow:auto hidden}.work-grid::-webkit-scrollbar{display:none}.work-grid.is-wheeling{scroll-snap-type:none}}.work-grid-counter{z-index:30;color:#fdfaf5;letter-spacing:.05em;background-color:#2c2330;border-radius:999px;padding:.5em 1.1em;font-family:Montserrat,sans-serif;font-size:.75em;font-weight:700;position:fixed;bottom:1.5em;right:1.5em}.work-grid-hint{z-index:30;color:#ababab;letter-spacing:.05em;text-transform:uppercase;pointer-events:none;flex-direction:column;align-items:center;gap:.2em;font-family:Montserrat,sans-serif;font-size:.75em;font-weight:700;animation:.6s ease-out 1.2s both work-grid-hint-fade-in;display:flex;position:fixed;bottom:1.5em;left:3.75em;right:0}@media (prefers-reduced-motion:reduce){.work-grid-hint{animation:none}}.work-grid-hint-row{align-items:center;gap:.5em;display:flex}.work-grid-hint-arrow{font-size:1.1em;line-height:1}.work-grid-hint-arrow.up,.work-grid-hint-arrow.down{animation:1.4s ease-in-out infinite work-grid-hint-bounce-y}.work-grid-hint-arrow.left{animation:1.4s ease-in-out infinite work-grid-hint-bounce-x-reverse}.work-grid-hint-arrow.right{animation:1.4s ease-in-out infinite work-grid-hint-bounce-x}.work-grid-hint-arrow.down,.work-grid-hint-arrow.right{animation-delay:.15s}@media (prefers-reduced-motion:reduce){.work-grid-hint-arrow{animation:none}}@keyframes work-grid-hint-fade-in{0%{opacity:0}to{opacity:1}}@keyframes work-grid-hint-bounce-y{0%,to{transform:translateY(0)}50%{transform:translateY(.2em)}}@keyframes work-grid-hint-bounce-x{0%,to{transform:translate(0)}50%{transform:translate(.2em)}}@keyframes work-grid-hint-bounce-x-reverse{0%,to{transform:translate(0)}50%{transform:translate(-.2em)}}.work-grid-card a{color:#2c2330;text-decoration:none;transition:transform .1s linear;display:block}.work-grid-card a:hover .card-title,.work-grid-card a:focus-visible .card-title{color:#85519e}.work-grid-card a:hover .card-image,.work-grid-card a:focus-visible .card-image{box-shadow:inset 0 0 0 1px #85519e}@media screen and (width>=1024px){.work-grid-card{scroll-snap-align:center;flex:none}}.card-image{aspect-ratio:3/4;background-color:#ababab;background-position:50%;background-size:cover;border-radius:16px;width:100%;display:block}@media screen and (width>=1024px){.card-image{width:min(90vw - 3.75em,460px)}}.card-tags{letter-spacing:.08em;text-transform:uppercase;color:#ababab;margin-top:1.25em;font-family:Montserrat,sans-serif;font-size:.85em;font-weight:700;display:block}.card-title{text-transform:uppercase;color:#2c2330;margin-top:.3em;font-family:Montserrat,sans-serif;font-size:1.4em;font-weight:700;display:block}.work-list{box-sizing:border-box;max-width:1100px;margin:0 auto;padding:0 5vw 4em;list-style:none}@media screen and (width>=768px){.work-list{padding-top:7em}}@media screen and (width>=992px){.work-list{flex-direction:column;height:100vh;display:flex;overflow-y:auto}}.work-list-row a{color:#2c2330;border-bottom:1px solid #2c233026;justify-content:space-between;align-items:center;gap:1em;padding:2.5em 0;text-decoration:none;transition:border-color .2s ease-in-out;display:flex}.work-list-row a:hover,.work-list-row a:focus-visible{border-bottom:3px solid #85519e}@media screen and (width>=992px){.work-list-row{flex:1 1 0;min-height:0;display:flex}.work-list-row a{flex:1;min-height:0;padding:0}}.row-title{text-transform:uppercase;font-family:Montserrat,sans-serif;font-size:clamp(1.5em,4.5vw,2.5em);font-weight:700}.row-tags{letter-spacing:.08em;color:#ababab;white-space:nowrap;font-family:Montserrat,sans-serif;font-size:.8em;font-weight:700}.case-study{max-width:900px;margin:0 auto;padding:5em 5vw 4em;position:relative}@media screen and (width>=1200px){.case-study{grid-template-columns:1fr 1fr;gap:3rem;max-width:none;display:grid}}.case-study-content{flex-direction:column;height:100%;display:flex}.back-btn{cursor:pointer;color:#2c2330;background:0 0;border:none;align-items:center;gap:.5em;margin-bottom:2em;padding:0;font-family:Source Code Pro,monospace;font-size:.9em;transition:color .2s ease-in-out;display:inline-flex}.back-btn:hover,.back-btn:focus-visible{color:#85519e}.case-study-slider{margin-bottom:2.5em}.case-study-slider .pager-btns-container{justify-content:flex-end;align-items:center;margin-top:1em}.case-study-slider .pager-btn{background-color:#2c233033;border-radius:999px;width:.5em;height:.5em;padding:0;transition:width .2s ease-in-out,background-color .2s ease-in-out}.case-study-slider .pager-btn:nth-of-type(n+2){margin-left:.6em}.case-study-slider .pager-btn.active,.case-study-slider .pager-btn:hover,.case-study-slider .pager-btn:focus{background-color:#85519e;width:1.75em}.case-study-image{aspect-ratio:1;border-radius:16px;width:100%;position:relative;overflow:hidden}.case-study-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.case-study-image .slide-open{cursor:zoom-in;background:0 0;border:none;width:100%;height:100%;padding:0;display:block}@media (hover:hover){.case-study-image .case-study-slides li.active:hover img{transform:scale(1.25)}}@media (prefers-reduced-motion:reduce){.case-study-image img{transition:none}}.case-study-slides{height:100%;margin:0;padding:0;list-style:none;position:relative}.case-study-slides li{opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.case-study-slides li.active{opacity:1;pointer-events:auto}.slide-arrow{color:#fdfaf5;cursor:pointer;filter:drop-shadow(0 0 2px #2c2330d9)drop-shadow(0 2px 6px #2c233099);background:0 0;border:none;justify-content:center;align-items:center;width:3.5em;height:3.5em;padding:0;transition:color .2s ease-in-out,transform .2s ease-in-out,opacity .2s ease-in-out;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.slide-arrow svg{width:2.1em;height:2.1em}.slide-arrow.prev{left:.5em}.slide-arrow.next{right:.5em}.slide-arrow:hover,.slide-arrow:focus-visible{color:#85519e;transform:translateY(-50%)scale(1.12)}.slide-arrow:active{transform:translateY(-50%)scale(.95)}.case-study-title{text-transform:uppercase;margin-top:1em;font-family:Montserrat,sans-serif;font-size:clamp(1.75em,5vw,2.75em);font-weight:700}.case-study-tags{color:#2c2330;letter-spacing:.08em;flex-wrap:wrap;align-items:center;margin:1em 0 .5em;padding:0;font-family:Montserrat,sans-serif;font-size:.75em;font-weight:700;list-style:none;display:flex}.case-study-tags li+li:before{content:"|";margin:0 .9em}.case-study-industry{letter-spacing:.03em;color:#616161;margin:0 0 2.5em;font-family:Montserrat,sans-serif;font-size:.85em;font-weight:400}.case-study-desc{white-space:pre-line;margin:0 0 2.5em;line-height:1.7}.case-study-credits{flex-wrap:wrap;gap:2em 3em;margin:0;display:flex}.case-study-credits dt{letter-spacing:.08em;text-transform:uppercase;color:#ababab;font-family:Montserrat,sans-serif;font-size:.75em;font-weight:700}.case-study-credits dd{margin:0;font-family:Montserrat,sans-serif}.case-study-tools{flex-wrap:wrap;gap:.75em;margin:2.5em 0 0;padding:0 0 2em;list-style:none;display:flex}.case-study-tools li{color:#fdfaf5;letter-spacing:.08em;text-transform:uppercase;background-color:#85519e;border-radius:999px;padding:.35em .9em;font-family:Montserrat,sans-serif;font-size:.75em;font-weight:700}.live-site-btn{color:#fdfaf5;letter-spacing:.05em;background-color:#2c2330;border-radius:999px;width:fit-content;margin:4em 0 0;padding:.75em 1.75em;font-family:Montserrat,sans-serif;font-size:.85em;font-weight:700;text-decoration:none;transition:opacity .2s ease-in-out;display:block}.live-site-btn:hover,.live-site-btn:focus-visible{opacity:.85}@media screen and (width>=768px){.live-site-btn{margin-left:auto}}@media screen and (width>=1200px){.live-site-btn{margin-top:auto;margin-bottom:0}}.lightbox{z-index:1000;cursor:zoom-out;background-color:#2c2330eb;justify-content:center;align-items:center;padding:4em 4vw;display:flex;position:fixed;inset:0}.lightbox>img{object-fit:contain;cursor:default;border-radius:8px;max-width:100%;max-height:100%}.lightbox .slide-arrow.prev{left:1em}.lightbox .slide-arrow.next{right:1em}.lightbox-close{color:#fdfaf5;cursor:pointer;background:0 0;border:none;padding:0 .25em;font-size:2.5em;line-height:1;transition:color .2s ease-in-out;position:absolute;top:.5em;right:.75em}.lightbox-close:hover,.lightbox-close:focus-visible{color:#85519e}.about-container{box-sizing:border-box;flex-direction:column-reverse;gap:2.5em;min-height:100vh;padding:7vw 6vw;display:flex}@media screen and (width>=992px){.about-container{flex-direction:row;justify-content:center;align-items:center;gap:4em;max-width:1200px;margin:0 auto;padding-bottom:9em}}.about-image{flex:none;width:min(70vw,320px)}.about-image .img-wrapper{border-radius:8px;width:100%;height:0;padding-top:125%;position:relative;overflow:hidden}.about-image .about-img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.about-caption{text-align:left;margin:1em 0 0;font-style:italic}@media screen and (width>=992px){.about-caption{text-align:center}}.about-name{text-transform:uppercase;white-space:nowrap;margin:0 0 .5em;font-family:Montserrat,sans-serif;font-size:clamp(1.75em,5vw,3.5em);font-weight:700;line-height:1}.about-text p{white-space:pre-wrap;text-wrap:pretty;margin:0 0 1.25em}.about-text p a{color:#85519e;font-weight:600;text-decoration:none;position:relative}.about-text p a:after{content:"";background-color:currentColor;width:0;height:1px;transition:width .2s ease-in-out;position:absolute;bottom:-.05em;left:0}.about-text p a:hover:after,.about-text p a:focus-visible:after{width:100%}.contact-container{box-sizing:border-box;justify-content:center;align-items:center;max-width:1100px;min-height:100vh;margin:0 auto;padding:4vw 6vw;display:flex}.contact-columns{flex-direction:column;align-items:flex-start;gap:2em;width:100%;display:flex}@media screen and (width>=992px){.contact-columns{flex-direction:row;align-items:flex-start;gap:4em}}.contact-headline-col{flex:none}@media screen and (width>=992px){.contact-headline-col{text-align:right;flex-basis:14em}}.contact-content-col{flex-direction:column;flex:1;gap:2em;display:flex}.contact-headline{text-transform:uppercase;margin:0;font-family:Montserrat,sans-serif;font-size:clamp(2.25em,7vw,4em);font-weight:700;line-height:1}.contact-blurb{max-width:26em;margin:0}.contact-form{flex-direction:column;gap:2em;max-width:32em;display:flex}.field{flex-direction:column;gap:.5em;display:flex}.field .field-label{font-family:Montserrat,sans-serif;font-size:.85em;font-weight:700}.field input,.field textarea{color:#2c2330;resize:none;background:0 0;border:none;border-bottom:1px solid #ababab;padding:.5em 0;font-family:Montserrat,sans-serif;font-size:1em}.field input:focus,.field textarea:focus{border-bottom-color:#85519e;outline:none}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-bottom-color:#b3261e}.field .field-required{color:#b3261e}.field .field-error{color:#b3261e;font-family:Montserrat,sans-serif;font-size:.8em}.form-status{margin:0;font-family:Montserrat,sans-serif;font-size:.9em}.form-status-sent{max-width:26em}.form-status-error{color:#b3261e}.send-btn{color:#fdfaf5;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background-color:#2c2330;border:none;border-radius:999px;align-self:flex-start;padding:.85em 2em;font-family:Montserrat,sans-serif;font-size:.85em;font-weight:700;transition:opacity .2s ease-in-out}.send-btn:hover,.send-btn:focus-visible{opacity:.85}.send-btn:disabled{cursor:not-allowed;opacity:.6}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;min-height:100vh;padding:0 6vw;display:flex}.not-found h1{margin:0;font-family:Montserrat,sans-serif;font-size:clamp(3em,12vw,6em);font-weight:700;line-height:1}.not-found p{color:#ababab;margin:.5em 0 1.5em}.not-found a{color:#85519e;font-family:Montserrat,sans-serif;font-weight:700;text-decoration:underline}
