*{margin:0;padding:0;box-sizing:border-box}:root{--black: #1b1c1e;--black: #121217;--cyan: royalblue;--magenta: #f31969;--yellow: orange;--offwhite: #f2e8db;--white: #f4f4f4;--accent: #909094;--dark-foreground: #2c2d30;--light-foreground: #fff;--border-color: var(--accent);--global-font-sans: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--global-font-serif: "Georgia", serif;--global-font-primary: "bc-ludva", Helvetica, sans-serif;--global-font-secondary: "space-mono", monospace;--global-font-link: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--leftright: 6vmax;--topbottom: 4vmax;--tablet: 1.5rem}html{background-color:var(--black);scroll-behavior:smooth;-webkit-text-size-adjust:100%;pointer-events:auto;max-width:2440px;font-size:14px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased !important;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{color:var(--accent);font-family:var(--global-font-sans);line-height:1.4;-webkit-user-select:none;-moz-user-select:none;user-select:none}main{background-color:var(--background-color-primary);color:var(--font-color);transition:background-color 1s ease;outline:12px solid var(--black);outline-offset:-10px;border-radius:35px;outline:22px solid var(--black);outline-offset:-20px;border-radius:40px;outline:22px solid var(--black);outline-offset:-20px;border-radius:55px}@media(max-width: 768px){main{outline:6px solid var(--black);outline-offset:-4px;border-radius:20px}}header,.header{z-index:100;width:100%;padding-left:var(--leftright);padding-right:calc(var(--leftright) - 2em);padding-top:calc(var(--topbottom) + var(--tablet));position:absolute;top:0}header .site-title,.header .site-title{margin-bottom:1rem;padding-left:0;letter-spacing:0;text-transform:capitalize}@media(max-width: 768px){header,.header{padding:0;padding-left:var(--tablet);padding-top:calc(2*var(--tablet));padding-top:var(--tablet)}}@media(max-width: 425px){header .site-title:after,.header .site-title:after{content:"."}header .active-title,.header .active-title{display:none}}nav{justify-content:space-between;margin-bottom:1em}nav ul{padding:0;margin-bottom:0}nav ul a{font-family:var(--global-font-link);text-transform:capitalize;font-weight:400;padding-bottom:.25rem}nav ul li{list-style-position:inside;display:inline-block;padding-right:var(--tablet);line-height:2}.display,h1,h2,h3,h4,h5,h6{font-weight:400}.display,h1,.h1,h2,.h2,h3,.h3{line-height:1.2}h1,.h1{font-size:3.999rem}@media(max-width: 768px){h1,.h1{font-size:48px}}.display{font-family:var(--global-font-primary);font-size:94px;font-weight:700;font-size:15vmax;font-size:25vmin;line-height:.73em;padding-bottom:var(--topbottom)}@media(max-width: 768px){.display{font-size:94px}}h2,.h2{font-size:2.999rem}@media(max-width: 768px){h2,.h2{font-size:36px}}h3,.h3{font-size:2.333rem}@media(max-width: 768px){h3,.h3{font-size:28px}}h4,.h4,h5,.h5,h6,.h6{font-size:2rem;letter-spacing:.5px;text-transform:uppercase}@media(max-width: 768px){h4,.h4,h5,.h5,h6,.h6{font-size:24px}}h5,.h5{font-size:1.666rem}@media(max-width: 768px){h5,.h5{font-size:20px}}h6,.h6{font-size:1.166rem}@media(max-width: 768px){h6,.h6{font-size:14px}}p,q{font-family:var(--global-font-sans);margin:1rem 0;max-width:625px}p:first-child,q:first-child{margin-top:0}p:last-child,q:last-child{margin-bottom:0}a{cursor:pointer !important;color:var(--accent);text-decoration:none;font-family:var(--global-font-link);font-weight:400;margin-right:1em}a:before{content:"   →";color:rgba(0,0,0,0);font-family:var(--global-font-sans);margin-right:-1em;transition:.5s all}a:hover{margin-right:0}a:hover:before{color:inherit;margin-right:0;transition:.5s all}@media(max-width: 768px){a{margin-right:0}a:before{display:none}}p>a{text-decoration:underline}ol{list-style-type:decimal}ul{list-style-type:disc}ol,ul{padding-left:1.5em;margin-bottom:1.5em}q{quotes:"“" "”" "“" "”";font-family:var(--global-font-serif);letter-spacing:.5px;font-style:italic;display:block;padding:1.5em}q::before,q::after{font-family:inherit;display:block;margin-left:-0.25rem;font-size:2.999rem;line-height:0;padding:1rem 0;font-style:normal}q::before{content:open-quote;margin-bottom:-0.5rem}q::after{content:no-close-quote;display:none}q.noquote::before,q.noquote::after{display:none}h1,h2,h3,h4,h5,h6,p,q,a{transition:all .5s;overflow:hidden}h1.display{transition:none}span{transition:all .5s}img{-o-object-fit:cover;object-fit:cover;height:auto;width:100%;max-height:100%;border-radius:4px;opacity:1;transition:opacity 1s}img[data-src]{opacity:0}.paren::before,.paren::after{content:"(";margin:0 2px}.paren::after{content:")"}a,abbr,address,b,bdi,bdo,blockquote,br,button,caption,center,cite,code,col,dd,del,dfn,dt,em,figcaption,footer,h1,h2,h3,h4,h5,h6,i,input,ins,kbd,label,legend,mark,output,p,pre,q,rp,rt,ruby,s,samp,small,span,strike,strong,sub,summary,sup,td,textarea,th,time,title,tt,u,var{-webkit-user-select:text;-moz-user-select:text;user-select:text}a::-moz-selection,abbr::-moz-selection,address::-moz-selection,b::-moz-selection,bdi::-moz-selection,bdo::-moz-selection,blockquote::-moz-selection,br::-moz-selection,button::-moz-selection,caption::-moz-selection,center::-moz-selection,cite::-moz-selection,code::-moz-selection,col::-moz-selection,dd::-moz-selection,del::-moz-selection,dfn::-moz-selection,dt::-moz-selection,em::-moz-selection,figcaption::-moz-selection,footer::-moz-selection,h1::-moz-selection,h2::-moz-selection,h3::-moz-selection,h4::-moz-selection,h5::-moz-selection,h6::-moz-selection,i::-moz-selection,input::-moz-selection,ins::-moz-selection,kbd::-moz-selection,label::-moz-selection,legend::-moz-selection,mark::-moz-selection,output::-moz-selection,p::-moz-selection,pre::-moz-selection,q::-moz-selection,rp::-moz-selection,rt::-moz-selection,ruby::-moz-selection,s::-moz-selection,samp::-moz-selection,small::-moz-selection,span::-moz-selection,strike::-moz-selection,strong::-moz-selection,sub::-moz-selection,summary::-moz-selection,sup::-moz-selection,td::-moz-selection,textarea::-moz-selection,th::-moz-selection,time::-moz-selection,title::-moz-selection,tt::-moz-selection,u::-moz-selection,var::-moz-selection{color:var(--accent);background:var(--background-color)}a::-moz-selection, abbr::-moz-selection, address::-moz-selection, b::-moz-selection, bdi::-moz-selection, bdo::-moz-selection, blockquote::-moz-selection, br::-moz-selection, button::-moz-selection, caption::-moz-selection, center::-moz-selection, cite::-moz-selection, code::-moz-selection, col::-moz-selection, dd::-moz-selection, del::-moz-selection, dfn::-moz-selection, dt::-moz-selection, em::-moz-selection, figcaption::-moz-selection, footer::-moz-selection, h1::-moz-selection, h2::-moz-selection, h3::-moz-selection, h4::-moz-selection, h5::-moz-selection, h6::-moz-selection, i::-moz-selection, input::-moz-selection, ins::-moz-selection, kbd::-moz-selection, label::-moz-selection, legend::-moz-selection, mark::-moz-selection, output::-moz-selection, p::-moz-selection, pre::-moz-selection, q::-moz-selection, rp::-moz-selection, rt::-moz-selection, ruby::-moz-selection, s::-moz-selection, samp::-moz-selection, small::-moz-selection, span::-moz-selection, strike::-moz-selection, strong::-moz-selection, sub::-moz-selection, summary::-moz-selection, sup::-moz-selection, td::-moz-selection, textarea::-moz-selection, th::-moz-selection, time::-moz-selection, title::-moz-selection, tt::-moz-selection, u::-moz-selection, var::-moz-selection{color:var(--accent);background:var(--background-color)}a::selection,abbr::selection,address::selection,b::selection,bdi::selection,bdo::selection,blockquote::selection,br::selection,button::selection,caption::selection,center::selection,cite::selection,code::selection,col::selection,dd::selection,del::selection,dfn::selection,dt::selection,em::selection,figcaption::selection,footer::selection,h1::selection,h2::selection,h3::selection,h4::selection,h5::selection,h6::selection,i::selection,input::selection,ins::selection,kbd::selection,label::selection,legend::selection,mark::selection,output::selection,p::selection,pre::selection,q::selection,rp::selection,rt::selection,ruby::selection,s::selection,samp::selection,small::selection,span::selection,strike::selection,strong::selection,sub::selection,summary::selection,sup::selection,td::selection,textarea::selection,th::selection,time::selection,title::selection,tt::selection,u::selection,var::selection{color:var(--accent);background:var(--background-color)}@media only screen and (max-width: 768px){:root{--leftright: 1.5rem;--topbottom: 1.5rem}}@media only screen and (max-width: 425px){:root{--leftright: 1.5rem;--topbottom: 1.5rem}a{font-size:16px}}@media(prefers-reduced-motion: no-preference){div>*,h1,a,p,img{animation-duration:1.5s;animation-timing-function:ease;animation-fill-mode:forwards;animation-name:moveInUp}}@keyframes moveInUp{0%{transform:translateY(-1em);opacity:0}100%{transform:translateY(0);opacity:1}}.site-title{font-family:var(--global-font-link);letter-spacing:.5px;color:var(--font-color) !important;text-transform:uppercase}.backtotop:before{content:"↑\a";display:block;font-family:var(--global-font-sans);white-space:pre-wrap;color:var(--border-color);margin:unset}.backtotop{color:inherit;border:1px solid var(--border-color);position:fixed;bottom:0;right:var(--tablet);right:3vmin;height:3rem;width:3rem;margin:var(--tablet);margin:3vmin;padding:.75em;font-size:1em;text-align:center;transition:.5s;border-radius:100%;z-index:100}.backtotop:hover{background-color:var(--black);margin:var(--tablet);margin:3vmin}.backtotop:hover:before{color:#fff;mix-blend-mode:difference}section,.section{position:relative;width:100%;padding:var(--leftright);padding-top:calc(2*var(--topbottom))}section .section-inner,.section .section-inner{padding-top:var(--tablet)}section .section-narrow,.section .section-narrow{max-width:920px;margin:0 auto}@media(max-width: 768px){section,.section{padding-top:calc(4*var(--tablet))}}.section-nopad{padding-top:0}details{height:calc(6*var(--tablet))}details summary{cursor:pointer;width:-moz-max-content;width:max-content}@media(min-width: 425px){details[open] summary{display:none}}.hero{padding:var(--leftright);padding-top:calc(6*var(--topbottom));padding-top:calc(var(--topbottom) + 18em);padding-bottom:calc(var(--topbottom) + var(--tablet));padding-bottom:calc(3*var(--tablet));position:relative;z-index:99}.hero h1,.hero p{inline-size:auto;overflow-wrap:break-word}.hero p{max-width:425px}@media(max-width: 768px){.hero{padding-top:calc(8*var(--tablet))}}.submenu{position:sticky;position:-webkit-sticky;top:0;margin:0 var(--leftright);padding:2em 0;z-index:100}.submenu a,.submenu .btn{text-transform:auto;letter-spacing:1px;font-size:12px}@media(max-width: 768px){.submenu{margin:0 1.5em;padding:1rem 0}.submenu .button{margin-top:auto;margin:0 .25em .5em 0}}.inline{margin-right:-1em}.inline p,.inline a,.inline li{padding:0 .25em;list-style-type:none;list-style-position:inside}.notebox>div{background-color:var(--foreground-color);margin:.25em .25em 0 0;padding:1em;border-radius:15px;flex-basis:320px;flex-grow:1;display:flex;flex-direction:column;justify-content:space-between;transition:all .25s}.notebox>div img{align-self:flex-end;width:100%}.notebox>div img,.notebox>div q{max-width:625px}.notebox>div a{margin-top:1em;z-index:99}.notebox>div q{background-color:unset}.notebox>div p:first-of-type{-moz-text-align-last:justify;text-align-last:justify}.notebox>div:nth-of-type(6n+1){flex-basis:50%}.notebox>div:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;z-index:98;background-color:rgba(0,0,0,0);mix-blend-mode:difference;transition:.25s all ease}.notebox>div:hover a{color:var(--offwhite)}.notebox>div:hover:after{background-color:var(--white)}.notebox>div.flex-start{justify-content:flex-start}.button,.pill,summary{display:inline-block;border:1px solid var(--border-color);border-radius:20px;padding:.5em 1em;margin:0;margin-left:.5em;background-color:var(--background-color-primary);align-self:flex-start;color:var(--font-color);font-family:var(--global-font-sans);text-align:center;font-size:.85rem;font-size:1rem;transition:.5s all;cursor:pointer}.button:first-of-type,.pill:first-of-type,summary:first-of-type{margin-left:0}@media(max-width: 768px){.button,.pill,summary{margin-top:auto;margin:0 .25em .5em 0}}.button:hover{padding-right:-1em;color:var(--background-color-primary);background:var(--border-color)}.grid-container{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, auto));grid-auto-flow:dense;grid-gap:1em;margin:1em 0}.grid-container *{transition:.5s all}.grid-container * p{margin-right:2em}.grid-container img{width:100%;margin:0 auto}.cover{margin:var(--tablet) -2vmax;grid-row:1;grid-column:1/-1}.halves{grid-template-columns:auto auto;-moz-column-count:2;column-count:2}.thirds{grid-template-columns:auto auto auto;-moz-column-count:3;column-count:3}.fourths{grid-template-columns:auto auto auto auto;-moz-column-count:4;column-count:4}.fifths{grid-template-columns:auto auto auto auto auto;-moz-column-count:6;column-count:6}.halves,.thirds,.fourths,.fifths{-moz-column-gap:1em;column-gap:1em}@media(max-width: 768px){.halves,.thirds,.fourths,.fifths{grid-template-columns:auto auto;-moz-column-count:2;column-count:2}}@media(max-width: 425px){.halves,.thirds,.fourths,.fifths{grid-template-columns:auto;-moz-column-count:1;column-count:1}}@media(max-width: 768px){.keephalf{grid-template-columns:auto auto auto !important;-moz-column-count:3 !important;column-count:3 !important}.keephalf:last-child{margin:0;margin-bottom:.5rem}}@media(max-width: 425px){.keephalf{grid-template-columns:auto auto !important;-moz-column-count:2 !important;column-count:2 !important}}.uneven>*{width:32%}.uneven>*:last-child{width:65%}@media(max-width: 768px){.uneven>*:last-child{width:100%}}.span1{grid-column-end:span 1;grid-row-end:span 1}.span2{grid-column-end:span 2;grid-row-end:span 2}.span3{grid-column-end:span 3;grid-row-end:span 3}@media(max-width: 768px){.halves>*{width:100%}}.pointer{cursor:pointer}.clickimage a .h5,.clickimage div .h5{margin:-0.65em 0;margin-top:0em;text-transform:capitalize}.clickimage img{background-color:var(--black)}.clickimage a{margin:revert;text-decoration:none}.clickimage a:before{display:none !important}.clickimage a:hover{text-decoration:underline}@media(max-width: 425px){.clickimage a{grid-column:1;grid-column-end:span 1;grid-row-end:span 1}}.gallery{margin:var(--tablet) -1vmax;-moz-column-width:auto;column-width:auto;-moz-column-gap:1em;column-gap:1em}.gallery img{transition:.5s all}@media(max-width: 768px){.gallery{margin:var(--tablet) 0}}.gallery-2{-moz-column-width:260px;column-width:260px;-moz-column-gap:10px;column-gap:10px}.gallery-2 img{margin-bottom:5px}.portfolio a{all:revert;transition:.5s all;text-decoration:none;margin-top:2em}.portfolio a p.accent{margin-top:-1em}.portfolio a:before{display:none !important}.portfolio a:after{content:"Case Study ↗";display:inline;width:-moz-max-content;width:max-content;border:1px solid var(--border);border-radius:20px;padding:.5em 1em;background-color:var(--foreground-color);font-family:var(--global-font-sans);text-align:center;font-size:12px;color:var(--border-color)}@media(min-width: 768px){.portfolio{-moz-column-width:325px;column-width:325px;-moz-column-gap:2rem;column-gap:2rem}}.portfolio{margin-bottom:calc(2.5*var(--topbottom))}.flex-row{display:flex;flex-direction:row;flex-wrap:wrap}.flex-column{display:flex;flex-direction:column;justify-content:center}.nowrap{flex-wrap:nowrap}.justify-between{justify-content:space-between}.justify-center{justify-content:center;text-align:center}.justify-around{justify-content:space-around}.justify-even{justify-content:space-evenly;text-align:center}.justify-end{justify-content:flex-end}.align-end{align-items:flex-end;align-content:flex-end}.flex-start{flex-wrap:unset;align-items:flex-start;align-content:flex-start;justify-content:flex-start}.align-center{align-items:center;align-content:center}.stretch{align-items:stretch}.fixed-bottom{position:fixed;bottom:0}.align-bottom{align-self:flex-end}.content-bottom{align-content:flex-end}@media(max-width: 425px){.content-bottom{align-content:space-between}}.float-right{float:right !important}.flex-grow{display:flex;flex-direction:row;flex-grow:1}@media(max-width: 768px){.reverseorder{order:2}}@media(max-width: 768px){.media-center{justify-content:center;text-align:center}}.upper{text-transform:uppercase}.lower{all:revert;text-decoration:none;text-transform:lowercase;font-family:var(--global-font-primary)}.right{text-align:right}.color{color:var(--font-color) !important}.full{min-height:100vh}.cover,.cover>img{max-height:90vh}.twothirds{height:75vh}.half{height:50vh;overflow:hidden}.quarter{height:25vh}@media(max-width: 768px){.autoheight,.full,.twothirds{height:auto}}@media(max-height: 768px){.autoheight,.full,.twothirds{height:auto}}@media(max-width: 425px){.autoheight,.full,.twothirds{min-height:revert}}.sticky{position:sticky;position:-webkit-sticky;top:0;z-index:99}.arrowbefore:before{content:"←  "}.arrowafterbefore:before{content:"   →"}.arrowafter:after{content:"   →"}.arrowup:before{content:"↑"}.arrowdown:after{content:"↓"}.arrowbefore:before,.arrowafter:after,.arrowafterbefore:before,.arrowdown:after,.arrowdiag:after{font-family:var(--global-font-sans);font-weight:inherit}.arrowdiag:after{content:" ↗ "}.noarrow>*>a,.noarrow>a,a.noarrow,p>a{margin-right:unset !important}.noarrow>*>a:before,.noarrow>a:before,a.noarrow:before,p>a:before{display:none !important}.noarrow>*>a:hover,.noarrow>a:hover,a.noarrow:hover,p>a:hover{color:var(--font-color) !important}.separator{display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--border-color);width:100%;margin:1em 0;transition:.5s}.width{width:unset;margin:0 var(--topbottom)}@media(max-width: 768px){.width{margin:var(--topbottom)}}.outline{outline:1px solid var(--font-color)}.copyright{font-size:.5rem}footer,#footer{width:100%;position:relative;bottom:0;padding:calc(var(--leftright)/1.5)}footer #wnav,#footer #wnav{padding-bottom:var(--topbottom);width:100%}@media(min-width: 768px){footer #wnav,#footer #wnav{flex-wrap:nowrap}}@media(max-width: 768px){footer #wnav .right>p,#footer #wnav .right>p{max-width:unset}}footer nav>ul,#footer nav>ul{padding-bottom:var(--tablet)}footer .copyright,#footer .copyright{font-size:.916rem;width:50%}@media(max-width: 425px){footer nav ul,#footer nav ul{width:49%}footer .copyright,#footer .copyright{width:100%}}.color-cyan{--background-color-primary: var(--cyan)}.color-mag{--background-color-primary: var(--magenta)}.color-yellow{--background-color-primary: var(--yellow);--border-color: var(--black);--font-color: var(--black)}.color-black,.color-cyan,.color-mag{--font-color: var(--offwhite);--border-color: var(--offwhite)}.color-black h1,.color-black h2,.color-black h3,.color-black h4,.color-black h5,.color-black h6,.color-black a,.color-black p,.color-black q,.color-cyan h1,.color-cyan h2,.color-cyan h3,.color-cyan h4,.color-cyan h5,.color-cyan h6,.color-cyan a,.color-cyan p,.color-cyan q,.color-mag h1,.color-mag h2,.color-mag h3,.color-mag h4,.color-mag h5,.color-mag h6,.color-mag a,.color-mag p,.color-mag q{color:var(--font-color)}.color-cyan,.color-mag,.color-yellow{--foreground-color: var(--background-color-primary)}.color-cyan h1,.color-cyan h2,.color-cyan h3,.color-cyan h4,.color-cyan h5,.color-cyan h6,.color-cyan a,.color-cyan p,.color-cyan q,.color-mag h1,.color-mag h2,.color-mag h3,.color-mag h4,.color-mag h5,.color-mag h6,.color-mag a,.color-mag p,.color-mag q,.color-yellow h1,.color-yellow h2,.color-yellow h3,.color-yellow h4,.color-yellow h5,.color-yellow h6,.color-yellow a,.color-yellow p,.color-yellow q{color:var(--font-color)}.color-black{--background-color-primary: var(--black);--foreground-color: var(--dark-foreground);--border-color: var(--accent)}.color-black a{color:var(--accent)}.color-white{--background-color-primary: var(--white);--foreground-color: var(--light-foreground);--font-color: var(--black)}.color-white p,.color-white q{color:var(--font-color)}.color-white a{color:var(--accent)}.accent,.accent a{color:var(--accent) !important}.box-shadow{box-shadow:#d3d3d3 0px 0px 2em}.blend{mix-blend-mode:difference}.multiply{mix-blend-mode:multiply}.hide{display:none}.show{display:unset}@media(max-width: 768px){.mobilehide{display:none}}.transparent{opacity:0}