*{box-sizing:border-box}body{margin:0}address,h1,h2,h3,h4,h5,h6,p{font-size:inherit;font-style:inherit;font-weight:inherit;margin:0}blockquote,figure{margin:0}li,ol,ul{list-style:none;margin:0;padding:0}a{color:inherit;text-decoration:inherit}img,svg{display:block;height:auto;width:100%}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;font-family:inherit;font-weight:inherit;padding:0}@font-face{font-family:IBM Plex Sans;font-weight:400;src:url(../fonts/IBMPlexSans-Regular.ttf)}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;src:url(../fonts/IBMPlexSans-Italic.ttf)}@font-face{font-family:IBM Plex Sans;font-weight:500;src:url(../fonts/IBMPlexSans-Medium.ttf)}@font-face{font-family:IBM Plex Sans;font-weight:700;src:url(../fonts/IBMPlexSans-SemiBold.ttf)}@font-face{font-family:IBM Plex Mono;font-weight:400;src:url(../fonts/IBMPlexMono-Regular.ttf)}:root{--purple:#5700ff;--purple-dark:#4200d2;--grey:#d8d8d8;--beige:#eadbce;--beige-dark:#e1cfbf;--border:2px;font-family:IBM Plex Sans;font-size:30px}.h1{font-family:IBM Plex Mono;font-size:2.15rem;text-transform:uppercase}.h2,.h3{font-size:1.33rem}.h3{font-family:IBM Plex Mono;text-transform:uppercase}.small{font-size:.8rem}.x-small{font-size:.533rem}.mono{font-family:IBM Plex Mono}.link{color:var(--purple)}.link:hover{color:#000}.purple{color:var(--purple)}.uppercase{text-transform:uppercase}.text ul li{list-style-type:"↪";margin-left:.9em;padding-left:.3em}.text ol li{list-style:decimal;margin-left:1.2em}.text *+p{margin-top:.9em}.site-header{aspect-ratio:12/2;border-bottom:var(--border) solid var(--grey);font-size:.8rem;overflow:hidden;padding:calc(1lh + 1.15rem) .6rem .6rem}.site-menu{display:grid;grid-template-columns:repeat(5,1fr);left:.6rem;position:fixed;right:.6rem;top:.6rem;z-index:3}.site-logo svg{display:block;height:auto;width:100%}.site-footer:before{content:"";display:block;font-size:.533rem;height:calc(8.333vw + 2lh + .44rem)}.site-footer-fixed{background:var(--beige);bottom:0;font-size:.533rem;padding:.22rem .733rem;position:fixed;width:100%;z-index:5}.site-wrapper{display:flex;flex-direction:column;min-height:100vh}.cols{background-color:#fff;border-bottom:var(--border) solid var(--grey);display:grid;grid-auto-rows:1fr;grid-template-columns:calc(41.665vw - var(--border)/12*5) auto;position:relative;z-index:0}.cols:has(>.cols){border-bottom:none}.cols>.cols{align-self:stretch;display:grid;grid-column:1/-1;grid-template-columns:subgrid}.cols.cols-align-start{align-items:start}.cols.cols-align-start:before{background-image:linear-gradient(var(--grey) var(--border),transparent var(--border)),linear-gradient(90deg,var(--grey) var(--border),transparent var(--border));background-position:0 100%;background-size:8.333vw 8.333vw;content:"";display:block;height:100%;position:absolute;width:100%;z-index:-1}.cols.cols-align-start .col{border-bottom:var(--border) solid var(--grey)}.cols.cols-align-start>.col:last-child{border-bottom:none;border-right:var(--border) solid var(--grey)}.col{background:#fff}.col-text{padding:.6875rem}.col-with-padding{padding-bottom:3rem}.cols .col{border-left:var(--border) solid var(--grey)}.cols>.col:last-child{border-right:var(--border) solid var(--grey)}.section-footer,.section-header{background:#fff;border-bottom:var(--border) solid var(--grey);padding:.733rem;text-align:center}.section-footer a:hover{color:var(--purple)}.section-caption{background:#fff;border-bottom:var(--border) solid var(--grey);padding:.433rem;text-align:center}.divider{border:none;height:8.333vw;margin:0}.divider,.grid-background{background-image:linear-gradient(var(--grey) var(--border),transparent var(--border)),linear-gradient(90deg,var(--grey) var(--border),#fff var(--border));background-position:0 calc(var(--border)*-1);background-size:calc(8.333vw - var(--border)/12) 8.333vw}.btn{align-items:center;background:#fff;border:calc(var(--border)/2) solid var(--purple);border-radius:2rem;color:var(--purple);cursor:pointer;display:flex;font-size:.8rem;justify-content:center;min-width:5rem;padding:.2rem .733rem;white-space:nowrap}.btn a{color:inherit}.btn.active,.btn:hover{background-color:var(--purple);color:#fff}.btn.btn-primary{background:var(--purple);color:#fff}.btn.btn-primary:hover{background:#000;border-color:#000}.gallery{background:#fff;border-bottom:var(--border) solid var(--grey);position:relative;width:100%}.gallery:after,.gallery:before{content:"";display:block;height:100%;opacity:1;pointer-events:none;position:absolute;top:0;transition:visibility 0s,opacity .3s;width:min(6.66rem,14vw);z-index:1}.gallery:before{background-image:linear-gradient(90deg,#fff,#d9d9d900);left:0}.gallery:after{background-image:linear-gradient(270deg,#fff,#d9d9d900);right:0}.gallery.end .gallery-next,.gallery.start .gallery-prev{opacity:0;transition:opacity .15s,visibility .15s;visibility:hidden}.gallery.end:after,.gallery.start:before{opacity:0;transition:opacity .3s,visibility .3s;visibility:hidden}.gallery-items{display:flex;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;position:relative;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-color:var(--purple) transparent}.gallery-item{flex-shrink:0;scroll-snap-align:start}.gallery-image .gallery-items{gap:.633rem;padding:.733rem}.gallery-item>img{height:22rem;width:auto}.gallery-next,.gallery-prev{cursor:pointer;height:1.5rem;opacity:1;position:absolute;top:calc(50% - .75rem);transition:visibility 0s,opacity .2s;width:1.5rem;z-index:2}.gallery-prev{left:.733rem}.gallery-next{right:.733rem}.video-container{height:0;overflow:hidden;padding-bottom:56.25%;position:relative;width:100%}.video-container iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.card-list{gap:1rem;height:33.333vw;overflow-x:scroll;padding:1rem;scrollbar-color:var(--purple) transparent;width:100%}.card,.card-list{align-items:center;display:flex}.card{background:#fff;border:calc(var(--border)/2) solid #000;border-radius:2rem;flex-direction:column;flex-shrink:0;justify-content:space-between;min-height:18vw;padding:.733rem;text-align:center;width:27vw}.card>:only-child{margin:auto 0}.card-purple{background:var(--purple);border-color:var(--purple);color:#fff}.tag-list{display:flex;flex-wrap:wrap;gap:.3125rem}.tag{background:var(--beige);border-radius:2rem;color:var(--purple);font-size:.466rem;font-weight:500}.tag:not(:has(label)){padding:.2rem .4rem}.tag input{display:none}.tag:has(input){cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tag:has(input):hover{background:var(--beige-dark)}.tag label{align-items:baseline;cursor:pointer;display:flex;padding:.2rem .4rem}.tag.active,.tag:has(input:checked){background:var(--purple);color:#fff}.tag:has(input:checked) label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none' viewBox='0 0 19 19'%3E%3Cpath fill='%23fff' d='m5.066 15.041-1.108-1.108L8.391 9.5 3.958 5.066l1.108-1.108L9.5 8.391l4.433-4.433 1.108 1.108L10.608 9.5l4.433 4.433-1.108 1.108L9.5 10.608z'/%3E%3C/svg%3E");content:"";display:block;height:1em;width:1em}.tag:has(input:checked):hover{background:var(--purple-dark)}.project-card-small{border-left:var(--border) solid var(--grey);width:calc(41.665vw - var(--border)/12*5 + var(--border))}.project-card-small:last-child{border-right:var(--border) solid var(--grey)}.project-card-content{display:flex;flex-direction:column;justify-content:space-between;padding:.6875rem}.project-card-image{background-color:var(--beige);padding-bottom:58.33%;position:relative}.project-card-image img{height:100%;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%}.project-card-header{display:flex;flex-direction:column;gap:.625rem;margin-bottom:.625rem}.page-header-title{background:#fff;padding:1.33rem .733rem;text-align:center}.page-header-image,.page-header-title{border-bottom:var(--border) solid var(--grey)}.page-header-image{max-height:20rem;-o-object-fit:cover;object-fit:cover;width:100%}.project-tags{border:none;display:flex;flex-wrap:wrap;gap:.3125rem;justify-content:center;margin:auto;max-width:28rem;padding:1.15rem}.projects-header{background:#fff;border-bottom:var(--border) solid var(--grey)}.project-intro .tag-list{margin-bottom:1rem}.project-intro .h2{margin-bottom:1em}.section-podcast{background:#fff;border-bottom:var(--border) solid var(--grey)}.section-podcast-content{padding:1.25rem .733rem}.video-container{border-bottom:var(--border) solid var(--grey)}.section-footer *+*{margin-top:.25rem}.contact-btn{margin-left:auto;margin-top:1.25rem}
